prompt 住院DIP清单明细_日志生成:SP_ZY_DIP_QDMXRZ create or replace procedure SP_ZY_DIP_QDMXRZ( PYBJKID in varchar2 ,--[1]输入:医保接口ID PJKCJBM in varchar2 ,--[2]输入:接口场景编码 PBRID00 in number ,--[3]输入:BRID00 PZYID00 in number ,--[4]输入:ZYID000 PZYH000 in varchar2 ,--[5]输入:ZYH000 PCZY000 in number ,--[6]输入:操作员编码 PCZYXM0 in varchar2 ,--[7]输入:操作员姓名 PCZYKS0 in number ,--[8]输入:操作员科室 PQQCSID in varchar2 default '' ,--[9]输入:参数中间ID PINXML0 in varchar2 default '' ,--[10]输入:请求参数(XML) POTHER0 in varchar2 default '' ,--[11]输入:备用参数 PCOMMIT in varchar2 default 'N' ,--[12]输入:是否提交事务 Y:提交 N:不提交 PZXZT00 out number ,--[13]输出:执行状态 0:失败 1:成功 POUTXML out varchar2 ,--[14]输出:出参(XML) PERRMSG out varchar2 --[15]输出:错误信息 ) as -- MODIFICATION HISTORY -- Person Date Comments -- zhangyc 2022.12.13 created 住院DIP清单明细(参考:SP_ZY_GJYBRZ_JSQDSC) by ZYSF9-20221214-003 -- zhangyc 2023.01.04 改为取字典:BM_TYCJZD.CJBM00='SP_TYJK_ZY_DIP_QDFYMX' by ZYSF9-20230105-001 -- zhangyc 2023.01.10 费用明细增加节点prcunt、spec、med_chrgitm、hilist_type、selfpay_prop、ownpay_amt去掉exp_content单位组合 by ZYSF9-20230110-002 -- linzetao 2023.02.03 手术操作信息(oprninfo列表)增加节点oper_dr_name(手术医生)、anst_dr_name(麻醉医生)、oprn_oprt_date(手术操作日期) ZYSF9-20230203-002 -- zhangyc 2023.02.07 住院诊断信息:CUR_QUREY_diseinfo 未取到值,直接取院内HIS_QUREY_diseinfo by ZYSF9-20230213-001 -- linzetao 2023.03.08 定义院内发票项目, 调整自付比例取值处理 ZYSF9-20230303-001 -- linzetao 2023.08.11 fund_payamt节点去空格以及节点为number类型值为空补0 ZYSF9-20230810-001 -- linzetao 2023.09.01 节点medfee_sumamt改为医保返回(单病种直接取医保返回),以及增加节点:medfee_sumamt_d为院内合计金额以及增加其它医保节点 ZYSF9-20230901-004 -- linzetao 2023.09.11 列表iteminfo增加节点med_chrgitm_mc ZYSF9-20230908-002 -- linzetao 2023.09.12 增加节点setl_time:结算时间格式为:yyyy-MM-dd HH:mm:ss ZYSF9-20230912-001 -- linzetao 2023.09.15 payinfo列表信息增加输出节点:fund_pay_type_name 基金支付类型名称 ZYSF9-20230914-001 -- zhangyc 2023.09.20 feedetail列表增加输出节点:kdks00: his开单科室编码,kdksmc:his开单科室名称,kdys00:his开单医生编码,kdysxm:his开单医生姓名 by ZYSF9-20230921-002 -- zhangyc 2024.06.24 如果母亲和婴儿一起结算,调用SP_ZY_GJYBJK_FJ0000.YEXM00传“全部”,避免费用明细和结算金额不一致 by ZYSF9-20240624-001 -- zhangyc 2024.10.18 增加节点:mdtrt_id_yb 医保就诊ID、setl_id_yb 医保结算ID 以及出院小结(节点标识:dscginfo) by ZYSF9-20241021-002 -- zhangyc 2025.01.06 优化节点取值:naty、chfpdr_code 主诊医师代码 用院内医师编码、chfpdr_code_dept 科主任医师代码 用院内医师编码、diag_code_cnt:诊断代码计数 oprn_oprt_code_cnt:手术操作代码计数 by ZYSF9-20250107-001 -- zhangyc 2025.07.29 手术信息列表oprninfo增加术者医生(院内编码) oper_dr_code_yn,麻醉医生(院内编码) anst_dr_code_yn,以及setlinfo增加resp_nurs_code:责任护士代码、resp_nurs_name:责任护士姓名、resp_nurs_code_yn:责任护士代码院内 by ZYSF9-20250730-001 -- zhangyc 2025.08.25 medfee_sumamt:总费用节点为空取medfee_sumamt_d 总费用 by ZYSF9-20250826-001 -- zhangyc 2025.09.16 增加获取中间表otp_wm_diag_dise_code、otp_wm_diag、otp_tcm_diag_dise_code、otp_tcm_diag -- --------- ---------- ------- LS_COUNT0 number(12,2); LS_CZRQ00 char(8); LS_CZSJ00 char(8); LS_MSGSTR varchar2(100); --错误位置信息 LS_DateTimeStr varchar2(20); --日期时间型:格式为:yyyy-MM-dd HH:mm:ss LS_DateStr varchar2(10); --日期型:格式为:yyyy-MM-dd LS_TimeStr varchar2(10); --时间型:格式为:HH:mm:ss LS_JKFSZ0 ZY_YBJKMX.JKFSZ0%type;--接口发送值 LS_JKFHZ0 ZY_YBJKMX.JKFHZ0%type;--接口返回值 LS_VALUE0 ZY_YBJKMX.VALUE0%type;--请求报文字符串 LS_HISCS0 ZY_YBJKRZ.HISCS0%type;--HIS前台请求参数 LS_QQDATA ZY_YBJKRZ.QQDATA%type;--请求报文 LS_MainJson ZY_YBJKRZ.QQDATA%type;--主项Json LS_detailJson ZY_YBJKRZ.QQDATA%type;--明细Json LS_inputJson ZY_YBJKRZ.QQDATA%type;--input输入 LS_diseinfoJson ZY_YBJKRZ.QQDATA%type;--诊断列表Json LS_payinfo ZY_YBJKRZ.QQDATA%type;--基金支付信息Json LS_PayinfoList ZY_YBJKRZ.QQDATA%type;--基金支付列表Json LS_opspdiseinfo ZY_YBJKRZ.QQDATA%type;--门诊慢特病诊断信息 LS_opspdiseinfoList ZY_YBJKRZ.QQDATA%type;--门诊慢特病诊断信息列表 LS_diseinfo ZY_YBJKRZ.QQDATA%type;--住院诊断信息 LS_diseinfoList ZY_YBJKRZ.QQDATA%type;--住院诊断信息列表 LS_iteminfo ZY_YBJKRZ.QQDATA%type;--收费项目信息 LS_iteminfoList ZY_YBJKRZ.QQDATA%type;--收费项目信息列表 LS_oprninfo ZY_YBJKRZ.QQDATA%type;--手术操作信息 LS_oprninfoList ZY_YBJKRZ.QQDATA%type;--手术操作信息列表 LS_icuinfo ZY_YBJKRZ.QQDATA%type;--重症监护信息 LS_icuinfoList ZY_YBJKRZ.QQDATA%type;--重症监护信息列表 LS_bldinfo ZY_YBJKRZ.QQDATA%type;--输血信息 LS_bldinfoList ZY_YBJKRZ.QQDATA%type;--输血信息列表 LS_ListJson ZY_YBJKRZ.QQDATA%type;--listjson LS_feedetail ZY_YBJKRZ.QQDATA%type;--费用明细Json LS_feedetailList ZY_YBJKRZ.QQDATA%type;--费用明细列表Json LS_dscginfoJson ZY_YBJKRZ.QQDATA%type;--出院小结 ROWJSD ZY_YBJSD0%rowtype; --医保结算单主表 LS_JZDH00 number(10); --结账单号 BM_psn_no BM_BRXXB0.psn_no%type;--psn_no:国家医保]人员编号 BM_AAE140 BM_BRXXB0.AAE140%type;--[BM_BRXXB0]险种类型编码:310 BM_AAE140_MC BM_BRXXB0.AAE140_MC%type;--[BM_BRXXB0]险种类型名称 BM_ZTQKBH BM_BRXXB0.ZTQKBH%type; BM_XZQH00 BM_BRXXB0.XZQH00%type; ZY_psn_no ZY_BRXXB0.psn_no%type;--psn_no:国家医保]人员编号 ZY_AAE140 ZY_BRXXB0.AAE140%type;--[ZY_BRXXB0]险种类型编码:310 ZY_AAE140_MC ZY_BRXXB0.AAE140_MC%type;--[ZY_BRXXB0]险种类型名称 ZY_ZYH000 ZY_BRXXB0.ZYH000%type; --住院号 ZY_RYRQ00 ZY_BRXXB0.RYRQ00%type; --入院日期 ZY_RYSJ00 ZY_BRXXB0.RYSJ00%type; --入院时间 ZY_CYRQ00 ZY_BRXXB0.CYRQ00%type; --出院日期 ZY_CYSJ00 ZY_BRXXB0.CYSJ00%type; --出院时间 ZY_SJRYRQ ZY_BRXXB0.SJRYRQ%type; --实际入院日期 ZY_SJRYSJ ZY_BRXXB0.SJRYSJ%type; --实际入院时间 ZY_CYDJRQ ZY_BRXXB0.CYDJRQ%type; --病区出院登记日期 ZY_CYDJSJ ZY_BRXXB0.CYDJSJ%type; --病区出院登记时间 ZY_SJCYRQ ZY_BRXXB0.SJCYRQ%type; --实际出院日期 ZY_SJCYSJ ZY_BRXXB0.SJCYSJ%type; --实际出院时间 ZY_YBRYRQ ZY_BRXXB0.YBRYRQ%type;--医保入院日期,格式:YYYYMMDD ZY_YBRYSJ ZY_BRXXB0.YBRYSJ%type;--医保入院时间,格式:HH24:MI:SS ZY_YBCYRQ ZY_BRXXB0.YBCYRQ%type;--医保出院日期,格式:YYYYMMDD ZY_YBCYSJ ZY_BRXXB0.YBCYSJ%type;--医保出院时间,格式:HH24:MI:SS ZY_RYZD00 ZY_BRXXB0.RYZD00%type;--入院诊断 ZY_RYZDMC ZY_BRXXB0.RYZDMC%type;--入院诊断名称 ZY_RYSQK0 ZY_BRXXB0.RYSQK0%type;--入院时情况,入院病情(危、急、一般) ZY_CYXJ00 ZY_BRXXB0.CYXJ00%type;--出院小结 ZY_ZZYS00 ZY_BRXXB0.ZZYS00%type;--主治医生员内部号 ZY_ZZYSXM ZY_BRXXB0.ZZYSXM%type;--主治医生姓名 ZY_ZRYS00 ZY_BRXXB0.ZRYS00%type;--主任医生员内部号 ZY_ZRYSXM ZY_BRXXB0.ZRYSXM%type;--主任医生姓名 ZY_SXYS00 ZY_BRXXB0.SXYS00%type;--主管医生员工号 ZY_SXYSXM ZY_BRXXB0.SXYSXM%type;--主管医生员姓名 ZY_RYBQ00 ZY_BRXXB0.RYBQ00%type;--入院病区编号 ZY_RZKS00 ZY_BRXXB0.RZKS00%type;--入院科室编号 ZY_ZRHS00 ZY_BRXXB0.ZRHS00%type;--责任护士 LS_YBZYH0 ZY_BRXXB0.YBZYH0%type; --医保住院号 LS_DQKS00 ZY_BRXXB0.DQKS00%type; --当前科室编码 LS_DQKSMC BM_BMBM00.BMMC00%type; --当前科室名称 LS_DQBQ00 ZY_BRXXB0.DQBQ00%type; --当前病区编码 LS_DQBQMC BM_BMBM00.BMMC00%type; --当前病区名称 LS_YYKSBM varchar2(50); --医院科室编码 LS_YBKSMC varchar2(50); --医保科室名称 LS_RYLB00 ZY_BRXXB0.RYLB00%type; --入院类别 LS_SFXSE0 varchar2(10); --是否新生儿 LS_YEXM00 varchar2(50); --婴儿姓名 LS_PSN_NO_XSE ZY_YBJKRZ.PSN_NO%type; --人员编号 LS_MDTRT_ID_XSE ZY_YBJKRZ.MDTRT_ID%type; --就诊id ZY_RYCWH0 ZY_BRXXB0.RYCWH0%type; --病人住院床号 LS_XBBH00 BM_BRXXB0.XBBH00%type;--性别编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='gend' LS_MZBH00 BM_BRXXB0.MZBH00%type;--民族编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='naty' LS_ZJLXBH BM_BRXXB0.ZJLXBH%type;--证件类型编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_cert_type' LS_ZTQKBH BM_BRXXB0.ZTQKBH%type;--职退情况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_type' LS_GJBH00 BM_BRXXB0.GJBH00%type;--国家地区编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='nat_regn_code' LS_LXGXBH BM_BRXXB0.LXGXBH%type;--联系人关系编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='patn_rlts' LS_HYZKBH BM_BRXXB0.HYZKBH%type;--婚姻状况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='mrg_stas' LS_ZYBH00 BM_BRXXB0.ZYBH00%type;--职业编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='prfs' LS_mdtrtsn varchar2(50); --住院号 LS_wardarea_no varchar2(50); --当前病区编码 LS_wardarea_name varchar2(50); --当前病区名称 LS_ward_no varchar2(50); --当前科室编码 LS_ward_name varchar2(50); --当前科室名称 LS_bedno varchar2(50); --当前病床号 LS_rid varchar2(50); --医院结算清单唯一标识 LS_psn_no varchar2(30); --1.psn_no: 人员编号 字符型(30) LS_mdtrt_id varchar2(30); --2.mdtrt_id: 就诊ID 字符型(30) LS_setl_id varchar2(30); --3.setl_id: 结算ID 字符型(30) LS_hi_no varchar2(30); --4.hi_no: 医保编号 字符型(30) LS_medcasno varchar2(30); --5.medcasno: 病案号 字符型(40) LS_dcla_time varchar2(20); --6.dcla_time: 申报时间 日期时间型() LS_ntly varchar2(6); --7.ntly: 国籍 字符型(6) LS_prfs varchar2(6); --8.prfs: 职业 字符型(6) LS_curr_addr varchar2(200); --9.curr_addr: 现住址 字符型(200) LS_emp_name varchar2(200); --10.emp_name: 单位名称 字符型(200) LS_emp_addr varchar2(200); --11.emp_addr: 单位地址 字符型(200) LS_emp_tel varchar2(50); --12.emp_tel: 单位电话 字符型(50) LS_poscode varchar2(6); --13.poscode: 邮编 字符型(6) LS_coner_name varchar2(50); --14.coner_name: 联系人姓名 字符型(50) LS_patn_rlts varchar2(6); --15.patn_rlts: 与患者关系 字符型(6) LS_coner_addr varchar2(200); --16.coner_addr: 联系人地址 字符型(200) LS_coner_tel varchar2(50); --17.coner_tel: 联系人电话 字符型(50) LS_nwb_adm_type varchar2(3); --18.nwb_adm_type: 新生儿入院类型 字符型(3) LS_nwb_bir_wt varchar2(10); --19.nwb_bir_wt: 新生儿出生体重 数值型(6,2) LS_nwb_adm_wt varchar2(10); --20.nwb_adm_wt: 新生儿入院体重 数值型(6,2) LS_mul_nwb_bir_wt varchar2(50); --21.mul_nwb_bir_wt: 多新生儿出生体重 字符型(50) LS_mul_nwb_adm_wt varchar2(50); --22.mul_nwb_adm_wt: 多新生儿入院体重 字符型(50) LS_opsp_diag_caty varchar2(50); --23.opsp_diag_caty: 门诊慢特病诊断科别 字符型(50) LS_opsp_mdtrt_date varchar2(10); --24.opsp_mdtrt_date: 门诊慢特病就诊日期 日期型() LS_adm_way varchar2(3); --25.adm_way: 入院途径 字符型(3) LS_trt_type varchar2(3); --26.trt_type: 治疗类别 字符型(3) LS_adm_time varchar2(20); --27.adm_time: 入院时间 日期时间型() LS_refldept_dept varchar2(50); --28.refldept_dept: 转科科别 字符型(12) LS_dscg_time varchar2(20); --29.dscg_time: 出院时间 日期时间型() LS_dscg_caty varchar2(6); --30.dscg_caty: 出院科别 字符型(6) LS_otp_wm_dise varchar2(200); --31.otp_wm_dise: 门(急)诊西医诊断 字符型(200) LS_wm_dise_code varchar2(20); --32.wm_dise_code: 西医诊断疾病代码 字符型(20) LS_otp_tcm_dise varchar2(200); --33.otp_tcm_dise: 门(急)诊中医诊断 字符型(200) LS_tcm_dise_code varchar2(20); --34.tcm_dise_code: 中医诊断代码 字符型(20) LS_vent_used_dura varchar2(10); --35.vent_used_dura: 呼吸机使用时长 字符型(10) LS_pwcry_bfadm_coma_dura varchar2(10); --36.pwcry_bfadm_coma_dura: 颅脑损伤患者入院前昏迷时长 字符型(10) LS_pwcry_afadm_coma_dura varchar2(10); --37.pwcry_afadm_coma_dura: 颅脑损伤患者入院后昏迷时长 字符型(10) LS_spga_nurscare_days varchar2(3); --38.spga_nurscare_days: 特级护理天数 数值型(3) LS_lv1_nurscare_days varchar2(3); --39.lv1_nurscare_days: 一级护理天数 数值型(3) LS_scd_nurscare_days varchar2(3); --40.scd_nurscare_days: 二级护理天数 数值型(3) LS_lv3_nurscare_days varchar2(3); --41.lv3_nurscare_days: 三级护理天数 数值型(3) LS_dscg_way varchar2(3); --42.dscg_way: 离院方式 字符型(3) LS_acp_medins_name varchar2(100); --43.acp_medins_name: 拟接收机构名称 字符型(100) LS_acp_optins_code varchar2(30); --44.acp_optins_code: 拟接收机构代码 字符型(30) LS_bill_code varchar2(50); --45.bill_code: 票据代码 字符型(50) LS_bill_no varchar2(30); --46.bill_no: 票据号码 字符型(30) LS_biz_sn varchar2(50); --47.biz_sn: 业务流水号 字符型(50) LS_days_rinp_flag_31 varchar2(3); --48.days_rinp_flag_31: 出院31天内再住院计划标志 字符型(3) LS_days_rinp_pup_31 varchar2(200); --49.days_rinp_pup_31: 出院31天内再住院目的 字符型(200) LS_chfpdr_code varchar2(30); --50.chfpdr_code: 主诊医师代码 字符型(30) LS_setl_begn_date varchar2(10); --51.setl_begn_date: 结算开始日期 日期型() LS_setl_end_date varchar2(10); --52.setl_end_date: 结算结束日期 日期型() LS_medins_fill_dept varchar2(100); --53.medins_fill_dept: 医疗机构填报部门 字符型(100) LS_medins_fill_psn varchar2(50); --54.medins_fill_psn: 医疗机构填报人 字符型(50) LS_resp_nurs_code varchar2(50); --55.resp_nurs_code: 责任护士代码 字符型(50) LS_resp_nurs_name varchar2(50); --55.resp_nurs_name: 责任护士姓名 字符型(50) LS_resp_nurs_code_yn varchar2(50); --55.resp_nurs_code_yn: 责任护士代码院内 LS_stas_type varchar2(10); --56.stas_type: 状态分类 字符型(10) LS_hi_paymtd varchar2(3); --57.hi_paymtd: 医保支付方式 字符型(3) LS_adm_caty varchar2(6); --40.adm_caty: 入院科别 字符型(6) LS_fixmedins_name varchar2(200); --3.fixmedins_name: 定点医药机构名称 字符型(200) LS_fixmedins_code varchar2(20); --4.fixmedins_code: 定点医药机构编号 字符型(12) LS_hi_setl_lv varchar2(3); --5.hi_setl_lv: 医保结算等级 字符型(3) LS_psn_name varchar2(50); --9.psn_name: 人员姓名 字符型(50) LS_gend varchar2(6); --10.gend: 性别 字符型(6) LS_brdy varchar2(10); --11.brdy: 出生日期 日期型() LS_age varchar2(10); --12.age: 年龄 数值型(4,1) LS_nwb_age varchar2(3); --14.nwb_age: (年龄不足1周岁)年龄 数值型(3) LS_naty varchar2(3); --15.naty: 民族 字符型(3) LS_patn_cert_type varchar2(6); --16.patn_cert_type: 患者证件类别 字符型(6) LS_certno varchar2(50); --17.certno: 证件号码 字符型(50) LS_hi_type varchar2(3); --28.hi_type: 医保类型 字符型(3) LS_insuplc varchar2(6); --29.insuplc: 参保地 字符型(6) LS_sp_psn_type varchar2(6); --30.sp_psn_type: 特殊人员类型 字符型(6) LS_ipt_med_type varchar2(3); --36.ipt_med_type: 住院医疗类型 字符型(3) LS_act_ipt_days varchar2(5); --44.act_ipt_days: 实际住院天数 数值型(3) LS_diag_code_cnt varchar2(3); --49.diag_code_cnt: 诊断代码计数 数值型(3) LS_oprn_oprt_code_cnt varchar2(3); --50.oprn_oprt_code_cnt: 手术操作代码计数 数值型(3) LS_bld_cat varchar2(3); --54.bld_cat: 输血品种 字符型(3) LS_bld_amt varchar2(6); --55.bld_amt: 输血量 数值型(6) LS_bld_unt varchar2(3); --56.bld_unt: 输血计量单位 字符型(3) LS_chfpdr_name varchar2(50); --69.chfpdr_name: 主诊医师姓名 字符型(50) LS_psn_selfpay varchar2(20); --73.psn_selfpay: 个人自付 数值型(16,2) LS_psn_ownpay varchar2(20); --74.psn_ownpay: 个人自费 数值型(16,2) --LS_acct_pay varchar2(20); --75.acct_pay: 个人账户支出 数值型(16,2) LS_psn_cashpay varchar2(20); --76.psn_cashpay: 个人现金支付 数值型(16,2) LS_hsorg varchar2(100); --78.hsorg: 医保机构 字符型(100) LS_hsorg_opter varchar2(50); --79.hsorg_opter: 医保机构经办人 字符型(50) LS_psn_type varchar2(10); --psn_type 人员类别 LS_insu_admdvs varchar2(10); --insu_admdvs 参保所属医保区划 LS_psn_hos_type varchar2(20); --psn_hos_type 结算清单类型0=住院 1=门诊 LS_insutype varchar2(10); --insutype:险种类型 LS_poolarea_no varchar2(10); --poolarea_no:统筹区编号 LS_fix_blng_admdvs varchar2(10); --fix_blng_admdvs 定点归属医保区划 LS_medfee_sumamt_d number(16,4); --medfee_sumamt_d: 院内合计金额 数值型(16,2) LS_medfee_sumamt number(16,4); --73.medfee_sumamt: 总费用 数值型(16,2) LS_fulamt_ownpay_amt number(16,4); --全自费金额 LS_overlmt_selfpay number(16,4); --超限价自费费用 LS_preselfpay_amt number(16,4); --先行自付金额 LS_inscp_scp_amt number(16,4); --符合政策范围金额 LS_act_pay_dedc number(16,4); --实际支付起付线 LS_hifp_pay number(16,4); --基本医疗保险统筹基金支出 LS_cvlserv_pay number(16,4); --公务员医疗补助资金支出 LS_hifes_pay number(16,4); --企业补充医疗保险基金支出 LS_hifmi_pay number(16,4); --居民大病保险资金支出 LS_hifob_pay number(16,4); --职工大额医疗费用补助基金支出 LS_maf_pay number(16,4); --医疗救助基金支出 LS_hosp_part_amt number(16,4); --医院负担金额 LS_oth_pay number(16,4); --其他支出 LS_fund_pay_sumamt number(16,4); --基金支付总额 LS_psn_part_amt number(16,4); --个人负担总金额 LS_acct_pay number(16,4); --个人账户支出 LS_psn_cash_pay number(16,4); --个人现金支出 LS_acct_mulaid_pay number(16,4); --个人账户共济支付金额 LS_hifdm_pay number(16,4); --伤残人员医疗保障基金支出 LS_YBJZRQ varchar2(8);--医保结算日期 LS_YBJZSJ varchar2(8);--医保结算时间 LS_setl_time varchar2(20);--医保结算时间格式为:yyyy-MM-dd HH:mm:ss LS_mdtrt_id_yb varchar2(50);--医保就诊ID LS_setl_id_yb varchar2(50);--医保结算ID LS_chfpdr_code_yb varchar2(50);--医保主诊医师代码 LS_chfpdr_code_yn varchar2(50);--院内主诊医师代码 LS_chfpdr_name_dept varchar2(50);--科主任姓名 LS_chfpdr_code_dept varchar2(50);--科主任医师代码 LS_chfpdr_code_dept_yb varchar2(50);--医保科主任医师代码 LS_data_updt_time varchar2(50);--数据最后更新时间 LS_chfpdr_code_dept_yn varchar2(50);--chfpdr_code_dept_yn :【HIS内部】院内科主任医师代码 LS_setlinfo_rybqbh varchar2(200);--rybqbh【HIS内部】入院病区编号 LS_setlinfo_rybqmc varchar2(200);--rybqmc【HIS内部】入院病区名称 LS_setlinfo_ryksbh varchar2(200);--ryksbh【HIS内部】入院科室编号 LS_setlinfo_ryksmc varchar2(200);--ryksmc【HIS内部】入院科室科室名称 LS_setlinfo_dqbqbh varchar2(200);--dqbqbh【HIS内部】当前病区编号 LS_setlinfo_dqbqmc varchar2(200);--dqbqmc【HIS内部】当前病区名称 LS_setlinfo_dqksbh varchar2(200);--dqksbh【HIS内部】当前科室编号 LS_setlinfo_dqksmc varchar2(200);--dqksmc【HIS内部】当前科室名称 LS_setlinfo_zzysbh varchar2(200);--zzysbh【HIS内部】主治医生员工编号 LS_setlinfo_zzysxm varchar2(200);--zzysxm【HIS内部】主治医生姓名 LS_setlinfo_zrysbh varchar2(200);--zrysbh【HIS内部】主任医生员工编号 LS_setlinfo_zrysxm varchar2(200);--zrysxm【HIS内部】主任医生姓名 LS_otp_wm_diag_dise_code varchar2(200);--门(急)西医诊断疾病代码 LS_otp_wm_diag varchar2(200);--门(急)西医诊断疾病名称 LS_otp_tcm_diag_dise_code varchar2(200);--门(急)中医诊断代码 LS_otp_tcm_diag varchar2(200);--门(急)中医诊断名称 LS_HJJE00 ZY_JZB000.HJJE00%type;--合计金额 LS_TCJJZF ZY_JZB000.TCJJZF%type;--统筹基金 LS_GRZHZF ZY_JZB000.GRZHZF%type;--医保账户支付 LS_ZFJE00 ZY_JZB000.ZFJE00%type;--个人支付 LS_XJFKJE ZY_JZB000.XJFKJE%type;--现金支付 LS_DJ_format varchar2(20);--单价格式化 LS_SL_format varchar2(20);--数量格式化 LS_JE_format varchar2(20);--金额格式化 YBXZQH_mdtrtarea_admvs BM_YBXZQH.mdtrtarea_admvs%type;--[国家医保]就医地医保区划 LS_med_type varchar2(10); --6.med_type: 医疗类别 字符型(6) LS_bilg_dept_codg varchar2(30); --13.bilg_dept_codg: 开单科室编码 字符型(30) LS_bilg_dept_name varchar2(100); --14.bilg_dept_name: 开单科室名称 字符型(100) LS_orders_dr_code varchar2(30); --19.orders_dr_code: 受单医生编码 字符型(30) LS_orders_dr_name varchar2(50); --20.orders_dr_name: 受单医生姓名 字符型(50) Pro_QSDJH0 number(10) ;--起始单据号 Pro_ZZDJH0 number(10) ;--终止单据号 Pro_JZDH00 number(10) ;--结帐单号 Pro_ZYID00 number(10) ;--住院ID Pro_QSRQ00 varchar2(8) ;--起始日期 Pro_ZZRQ00 varchar2(8) ;--截至日期 Pro_FLAG00 varchar2(1) ;--标志'5':出院病人补发送医保 调用, Pro_YEXM00 varchar2(20) ;--婴儿姓名 Pro_SFXYB0 varchar2(1) ;--是否新医保, 0否1是, 默认0 Pro_JSXZID number(10) ;--结算选择记录ID Pro_INXML0 varchar2(100) ;--xml入参 Pro_ID0000 number(10) ;--输出:序列号ID Pro_ZXZT00 number(10) ;--输出:执行状态 Pro_OUTXML clob ;--输出:xml出参 Pro_YHMSG0 varchar2(500) ;--输出:存储过程提示的错误信息 Pro_SYSMSG varchar2(500) ;--输出:系统提示的错误信息 LS_payinfo_Num number(12);--[数量]基金支付信息 LS_opspdiseinfo_Num number(12);--[数量]门诊慢特病诊断信息 LS_diseinfo_Num number(12);--[数量]住院诊断信息< diseinfo> LS_iteminfo_Num number(12);--[数量]收费项目信息 LS_oprninfo_Num number(12);--[数量]手术操作信息 LS_icuinfo_Num number(12);--[数量]重症监护信息 LS_bldinfo_Num number(12);--[数量]输血信息 LS_feedetail_Num number(12);--[数量]费用明细 LS_YEFYJE ZY_FYMX00.HJJE00%type; --婴儿费用金额 LS_YYID00 varchar2(10);--医院ID号 LS_YYQC00 varchar2(100);--医院全称 LS_YYJC00 varchar2(100);--医院简称 LS_GJBZBM varchar2(50);--国家医保标准编码 LS_GJBZMC varchar2(100);--国家医保名称 --出院小结 LS_dscginfo_dscg_date varchar2(50);--1 dscg_date 出院日期 日期型 LS_dscginfo_adm_diag_dscr varchar2(4000);--2 adm_diag_dscr 入院诊断描述 字符型 200 LS_dscginfo_dscg_dise_dscr varchar2(4000);--3 dscg_dise_dscr 出院诊断 字符型 1000 LS_dscginfo_adm_info varchar2(4000);--4 adm_info 入院情况 字符型 200 LS_dscginfo_trt_proc_rslt_dscr varchar2(4000);--5 trt_proc_rslt_dscr 诊治经过及结果(含手术日期名称及结果) 字符型 2000 LS_dscginfo_dscg_info varchar2(4000);--6 dscg_info 出院情况(含治疗效果) 字符型 2000 LS_dscginfo_dscg_drord varchar2(4000);--7 dscg_drord 出院医嘱 字符型 1000 LS_dscginfo_caty varchar2(50);--8 caty 科别 字符型 6 Y LS_dscginfo_rec_doc varchar2(50);--9 rec_doc 记录医师 字符型 80 LS_dscginfo_main_drug_name varchar2(4000);--10 main_drug_name 主要药品名称 字符型 1500 LS_dscginfo_oth_imp_info varchar2(4000);--11 oth_imp_info 其他重要信息 字符型 1500 LS_dscginfo_vali_flag varchar2(50);--12 vali_flag 有效标志 字符型 3 Y LS_oprn_oprt_date varchar2(20);--oprn_oprt_date手术操作日期 LS_oprn_oprt_begntime varchar2(20);--oprn_oprt_begntime手术开始时间 LS_oprn_oprt_endtime varchar2(20);--oprn_oprt_endtime手术结束时间 LS_anst_begntime varchar2(20);--anst_begntime麻醉开始时间 LS_anst_endtime varchar2(20);--anst_endtime麻醉结束时间 LS_oprninfo_oper_dr_code_yn varchar2(20);--oper_dr_code_yn:术者医生(院内编码) LS_oprninfo_anst_dr_code_yn varchar2(20);--anst_dr_code_yn:麻醉医生(院内编码) --修改医保发送明细表 cursor CUR_UPDATE_YBJKMX is select YBJKID,JKMXID,JDBM00,ZJDBM0,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ from ZY_YBJKMX where YBJKID=PYBJKID and FSLXBZ in ('1','3') order by JKMXID; --查询主项数据 cursor CUR_QUERY_Main is select YBJKID,JKMXID,JDBM00,ZJDBM0,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ from ZY_YBJKMX where YBJKID=PYBJKID and FSLXBZ in ('1','3') and CJBM00 in ('AllIn') order by JKMXID; --查询明细数据 cursor CUR_QUERY_detail is select YBJKID,JKMXID,JDBM00,ZJDBM0,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ from ZY_YBJKMX where YBJKID=PYBJKID and FSLXBZ in ('1','3') and CJBM00=PJKCJBM and JDBM00='setlinfo' order by JKMXID; --基金支付信息 cursor CUR_QUREY_payinfo is select fund_pay_type,trim(to_char(fund_payamt,'9999999990.09')) as fund_payamt, poolarea_fund_pay_name as fund_pay_type_name --基金支付类型名称 from ZY_YBJSDX where JKJDBM='payinfo' and YBJKID=PYBJKID and fund_pay_type is not null ; --门诊慢特病诊断信息 cursor CUR_QUREY_opspdiseinfo is select diag_name,diag_code,oprn_oprt_name, oprn_oprt_code,maindiag_flag from ZY_YBJSDX where JKJDBM='opspdiseinfo' and YBJKID=PYBJKID and diag_code is not null ; --住院诊断信息 cursor CUR_QUREY_diseinfo is select diag_type,nvl(diag_code,diag_code_zy) as diag_code,nvl(diag_name,diag_name_zy) as diag_name,nvl(adm_cond_type,adm_cond_type_zy) as adm_cond_type, maindiag_flag from ZY_YBJSDX where JKJDBM='diseinfo' and YBJKID=PYBJKID and diag_code is not null ; --收费项目信息 cursor CUR_QUREY_iteminfo is select MED_CHRGITM_TYPE as med_chrgitm, adm_cond_type_mc as med_chrgitm_mc, trim(to_char(amt,LS_JE_format)) as amt, trim(to_char(claa_sumfee,LS_JE_format)) as claa_sumfee, trim(to_char(clab_amt,LS_JE_format)) as clab_amt, trim(to_char(fulamt_ownpay_amt,LS_JE_format)) as fulamt_ownpay_amt, trim(to_char(oth_amt,LS_JE_format)) as oth_amt from ZY_YBJSDX where JKJDBM='iteminfo' and YBJKID=PYBJKID and MED_CHRGITM_TYPE is not null ; --手术操作信息 cursor CUR_QUREY_oprninfo is select main_oprn_flag as oprn_oprt_type,oprn_oprt_name,oprn_oprt_code,anst_way, oper_dr_code,oper_dr_name,anst_dr_code,anst_dr_name,oprn_oprt_begntime,oprn_oprt_endtime, anst_begntime,anst_endtime,oprn_oprt_date, substrb(SF_XT_GETXMLSTR('oper_dr_code_yn',a.XMLSTR),1,20) as oper_dr_code_yn, --oper_dr_code_yn:术者医生(院内编码) substrb(SF_XT_GETXMLSTR('anst_dr_code_yn',a.XMLSTR),1,20) as anst_dr_code_yn --anst_dr_code_yn:麻醉医生(院内编码) from ZY_YBJSDX a where JKJDBM='oprninfo' and YBJKID=PYBJKID and main_oprn_flag is not null ; --重症监护信息 cursor CUR_QUREY_icuinfo is select scs_cutd_ward_type,scs_cutd_inpool_time,scs_cutd_exit_time,scs_cutd_sum_dura from ZY_YBJSDX where JKJDBM='icuinfo' and YBJKID=PYBJKID and scs_cutd_ward_type is not null ; --输血信息 cursor CUR_QUREY_bldinfo is select bld_cat,bld_amt,bld_unt from ZY_YBJSDX where JKJDBM='bldinfo' and YBJKID=PYBJKID and bld_cat is not null and nvl(bld_amt,0)<>0 ; --His住院诊断信息开始 --diag_type:诊断类别 (1:西医诊断 2:中医主病诊断 3:中医主证诊断 4:手术操作) --diag_type:诊断类别 (1:西医主要诊断 2:西医其他诊断 3:中医主病诊断 4:中医主证诊断) cursor HIS_QUREY_diseinfo is select distinct aa.diag_type,aa.diag_code,aa.diag_name,aa.adm_cond_type,aa.maindiag_flag from(select decode(a.ZDLB00,'3','1','a','2','e','2','b','3','f','3','1') as diag_type,--1 diag_type 诊断类别 1:西医主要诊断 2:西医其他诊断 3:中医主病诊断 4:中医主证诊断 substrb(nvl(nvl(a.GJBZBM,SF_XT_GETGJBZBMForICD900(a.ZDM000,'1')),a.ZDM000),1,20) as diag_code,--2 diag_code 诊断代码 varchar2(20) nvl(nvl(a.GJBZMC,SF_XT_GETGJBZBMForICD900(a.ZDM000,'2')),a.ZDMC00) as diag_name,--3 diag_name 诊断名称 varchar2(100) '4' as adm_cond_type,--4 adm_cond_type 入院病情类型 varchar2(3) 1','有' ,'3','情况不明' '2','临床未确定' '4','无' decode(a.ZDLB00,'3','1','0') as maindiag_flag--5 maindiag_flag 主诊断标志 varchar2(3) 0:否' '1','是' from BQ_BRZDXX A where 1=1 and A.ZYID00=PZYID00 and A.ZDLB00 not in ('c','d','g','h','i','j') --过滤掉:1:门诊诊断 2:入院诊断 8:初步诊断 c:入院疾病诊断 d:门诊疾病诊断 g:入院证候诊断 h:初步疾病诊断 i:初步证候诊断 j:门诊证候诊断 and not exists(select 1 from bm_zyjb00 d where a.zdm000=d.jbbh00) and not exists(select 1 from bm_zyzh00 e where a.zdm000=e.zhbh00) ) aa order by aa.maindiag_flag desc ; --手术操作信息开始 cursor HIS_QUREY_oprninfo is select aa.oprn_oprt_type, --oprn_oprt_type 手术操作类别 varchar2(3) 1:主要手术及操作' '2','其他手术及操作' aa.oprn_oprt_name, --oprn_oprt_name 手术操作名称 varchar2(500) aa.oprn_oprt_code, --oprn_oprt_code 手术操作代码 varchar2(30) aa.oprn_oprt_date, --oprn_oprt_date 手术操作日期 number(8) aa.anst_way, --anst_way 麻醉方式 varchar2(6) =xt_mzfs00 aa.oper_dr_name, --oper_dr_name 术者医师姓名 varchar2(50) aa.oper_dr_code, --oper_dr_code 术者医师代码 varchar2(20) aa.anst_dr_name, --anst_dr_name 麻醉医师姓名 varchar2(50) aa.anst_dr_code, --anst_dr_name 麻醉医师姓名 varchar2(50) rpad(aa.oprn_oprt_begntime,14,'0') as oprn_oprt_begntime,--oprn_oprt_begntime 手术开始时间 number(14) rpad(aa.oprn_oprt_endtime,14,'0') as oprn_oprt_endtime, --oprn_oprt_endtime 手术结束时间 number(14) rpad(aa.anst_begntime,14,'0') as anst_begntime, --anst_begntime 麻醉开始时间 number(14) rpad(aa.anst_endtime,14,'0') as anst_endtime, --anst_endtime 麻醉结束时间 number(14) aa.oper_dr_code_yn, --oper_dr_code_yn:术者医生(院内编码) aa.anst_dr_code_yn --anst_dr_code_yn:麻醉医生(院内编码) from (select decode(bb.SFZSS0,'0','1','2') as oprn_oprt_type,--1 oprn_oprt_type 手术操作类别 varchar2(3) 1:主要手术及操作' '2','其他手术及操作' bb.SSXMJC as oprn_oprt_name,--2 oprn_oprt_name 手术操作名称 varchar2(500) nvl(bb.CM3000,SSBH00) as oprn_oprt_code,--3 oprn_oprt_code 手术操作代码 varchar2(30) aa.SQRQ00 as oprn_oprt_date,--4 oprn_oprt_date 手术操作日期 number(8) SF_ZY_GETJSQD_JKFSZ0('anst_mtd_code',aa.MZBH00) as anst_way,--5 anst_way 麻醉方式 varchar2(6) =xt_mzfs00 --aa.SSYSXM as oper_dr_name,--6 oper_dr_name 术者医师姓名 varchar2(50) nvl((select t2.zwxm00 from ss_yshsxx t1,bm_ygbm00 t2 where t1.yshslb='主刀医生' and t1.ssdh00=aa.ssdh00 and t1.yshsbh=t2.ygbh00),aa.SSYSXM) as oper_dr_name,--6 oper_dr_name 术者医师姓名 varchar2(50) nvl((select nvl(t2.YBYGDM,t2.YSZJHM) from ss_yshsxx t1,bm_ygbm00 t2 where t1.yshslb='主刀医生' and t1.ssdh00=aa.ssdh00 and t1.yshsbh=t2.ygbh00), (select nvl(t3.YBYGDM,t3.YSZJHM) from bm_ygbm00 t3 where t3.ygbh00=aa.SSYS00) ) as oper_dr_code,--7 oper_dr_code 术者医师代码 varchar2(20) --aa.MZYSXM as anst_dr_name,--8 anst_dr_name 麻醉医师姓名 varchar2(50) nvl((select t2.zwxm00 from ss_yshsxx t1,bm_ygbm00 t2 where t1.yshslb='麻醉医生' and t1.ssdh00=aa.ssdh00 and t1.yshsbh=t2.ygbh00 and nvl(ZMFMBZ,'0')='0'),aa.MZYSXM) as anst_dr_name,--8 anst_dr_name 麻醉医师姓名 varchar2(50) nvl((select nvl(t2.YBYGDM,t2.YSZJHM) from ss_yshsxx t1,bm_ygbm00 t2 where t1.yshslb='麻醉医生' and t1.ssdh00=aa.ssdh00 and t1.yshsbh=t2.ygbh00 and nvl(ZMFMBZ,'0')='0'), (select nvl(t3.YBYGDM,t3.YSZJHM) from bm_ygbm00 t3 where t3.ygbh00=SF_XT_RETURNINDEXEH(aa.MZYS00,';',1)) ) as anst_dr_code,--9 anst_dr_code 麻醉医师代码 varchar2(20) aa.SSQSRQ||substrb(aa.SSQSSJ,1,2)||substrb(aa.SSQSSJ,4,2)||substrb(aa.SSQSSJ,7,2) as oprn_oprt_begntime,--10 oprn_oprt_begntime 手术开始时间 number(14) aa.SSJSRQ||substrb(aa.SSJSSJ,1,2)||substrb(aa.SSJSSJ,4,2)||substrb(aa.SSJSSJ,7,2) as oprn_oprt_endtime,--11 oprn_oprt_endtime 手术结束时间 number(14) aa.MZKSRQ||substrb(aa.MZKSSJ,1,2)||substrb(aa.MZKSSJ,4,2)||substrb(aa.MZKSSJ,7,2) as anst_begntime,--12 anst_begntime 麻醉开始时间 number(14) aa.MZJSRQ||substrb(aa.MZJSSJ,1,2)||substrb(aa.MZJSSJ,4,2)||substrb(aa.MZJSSJ,7,2) as anst_endtime,--13 anst_endtime 麻醉结束时间 number(14) bb.ID0000, null as oper_dr_code_yn, --oper_dr_code_yn:术者医生(院内编码) null as anst_dr_code_yn --anst_dr_code_yn:麻醉医生(院内编码) from SS_YW0000 aa,SS_YWMX00 bb where aa.SSDH00=bb.SSDH00 and aa.MZZYBZ='1' and aa.ZYGHID=PZYID00 and aa.SSZT00 not in ('1','3','6') ) aa order by aa.oprn_oprt_type,aa.ID0000; --清单明细 ZY_YBJKQD cursor CUR_MXLIST is select a.MXID00 as feedetl_sn, --1. 费用明细流水号 a.OMXID0 as init_feedetl_sn, --2. 原费用流水号 LS_YBZYH0 as mdtrt_id, --3. 就诊ID a.YZH000 as drord_no, --4. 医嘱号 LS_psn_no as psn_no, --5. 人员编号 LS_med_type as med_type, --6. 医疗类别 a.FPXMBH as med_chrgitm, --med_chrgitm 医疗收费项目 --decode(a.FLAG00,'1','1','2','1','0') as hilist_type,--hilist_type三目类型 --1 药品 2 诊疗项目 3 服务设施 4 耗材 decode(instrb(XMBH00,'C',1,1),1,'4',decode(a.FPXMBH,'01','1','02','1','03','1','27','4','2')) as hilist_type,--hilist_type三目类型 --1 药品 2 诊疗项目 3 服务设施 4 耗材 substr(a.CZRQ00,1,4)||'-'||substr(a.CZRQ00,5,2)||'-'||substr(a.CZRQ00,7,2)||' '||a.CZSJ00 as fee_ocur_time, --7. 费用发生时间 trim(a.XMBH00) as med_list_codg, --8. 医疗目录编码 a.SFXMID as medins_list_codg, --9. 医药机构目录编码 a.XMJE00 as det_item_fee_sumamt, --10. 明细项目费用总额 a.XMSL00 as cnt, --11. 数量 a.XMDJ00 as pric, --12. 单价 a.XMDW00 as prcunt, --prcunt 单位 字符型 50 a.XMGG00 as spec, --spec 规格 字符型 50 --null as selfpay_prop, --selfpay_prop 自付比例 (select b.ZFBL00 from BM_YBSFDY b where a.SFXMID=b.SFXMID and b.YBZXLB='1' and rownum=1) as selfpay_prop,--selfpay_prop 自付比例 --null as ownpay_amt, --ownpay_amt 自费金额 a.XMJE00*(select b.zfbl00 from bm_ybsfdy b where a.sfxmid=b.sfxmid and b.ybzxlb='1' and rownum=1) as ownpay_amt,--自费金额 nvl(SF_XT_TransKSBMToGJYBBM(a.kdks00,1),LS_bilg_dept_codg) as bilg_dept_codg, --13. 开单科室编码 to_char(a.kdks00) as bilg_dept_codg_yn,--bilg_dept_codg_yn: 开单科室编码院内 nvl(SF_XT_GETYBKSMC(a.kdks00,SF_XT_TransKSBMToGJYBBM(a.kdks00,1)),a.kdksmc) as bilg_dept_name, --14. 开单科室名称 nvl(SF_XT_TransYSToGJYBDM(a.YSYGBH),a.YSYGBH) as bilg_dr_codg, --15. 开单医生编码 a.YSXM00 as bilg_dr_name, --16. 开单医师姓名 --null as acord_dept_codg, --17. 受单科室编码 --null as acord_dept_name, --18. 受单科室名称 nvl(SF_XT_TransKSBMToGJYBBM(a.ZXKS00,1),to_char(a.ZXKS00)) as acord_dept_codg, --17. 受单科室编码 to_char(a.ZXKS00) as acord_dept_codg_yn, --acord_dept_codg_yn: 受单科室编码院内 nvl(SF_XT_GETYBKSMC(a.ZXKS00,SF_XT_TransKSBMToGJYBBM(a.ZXKS00,1)),a.ZXKSMC) as acord_dept_name, --18. 受单科室名称 null as orders_dr_code, --19. 受单医生编码 null as orders_dr_name, --20. 受单医生姓名 decode(trim(A.SFYB00),'Y','1','2') as hosp_appr_flag, --21. 医院审批标志 null as tcmdrug_used_way, --22. 中药使用方式 '0' as etip_flag, --23. 外检标志 null as etip_hosp_code, --24. 外检医院编码 null as dscg_tkdrug_flag, --25. 出院带药标志 null as matn_fee_flag, --26. 生育费用标志 null as memo, --27. 备注 null as comb_no, --28. 组套编号 --'{\"prcunt\":\"'||a.XMDW00||'\"}' as expContent, --29. 字段扩展 null as exp_content, --29. 字段扩展 nvl(a.bke181,a.XMBH00) as fixmedins_hilist_id, --fixmedins_hilist_id 项目编码 字符型 50 nvl(a.bke182,a.xmmc00) as fixmedins_hilist_name,--fixmedins_hilist_name 项目名称 字符型 100 trim(a.XMBH00) as hilist_code, --hilist_code 医保项目编码 字符型 50 trim(a.xmmc00) as hilist_name, --hilist_name 医保项目名称 字符型 100 a.kdks00 as kdks00, --kdks00: his开单科室编码 a.kdksmc as kdksmc, --kdksmc:his开单科室名称 a.kdys00 as kdys00, --kdys00:his开单医生编码 a.kdysxm as kdysxm, --kdysxm:his开单医生姓名 a.ZXKS00 as ZXKS00, --ZXKS00:执行科室编码 a.ZXKSMC as ZXKSMC --ZXKSMC:执行科室名称 from ZY_YBFSMX A where a.ID0000=Pro_ID0000 and a.ZYID00=PZYID00 and nvl(YBFSDH,'0') = '0' ; begin --清单上传第三方推送主项节点对照:select * from bm_ybsxzd where jkbm00=0 and sxbm00='medicalRecordtoHIS_setlinfo' and VALUE0 in ('otp_wm_diag_dise_code','otp_tcm_diag_dise_code','otp_wm_diag','otp_tcm_diag') --属性字典:select * from BM_TYCJZD where CJBM00='SP_TYJK_ZY_DIP_QDFYMX' and jksxbm in ('otp_wm_diag_dise_code','otp_tcm_diag_dise_code','otp_wm_diag','otp_tcm_diag') PZXZT00:=0; --输出:执行状态 0:失败 1:成功 POUTXML:=null;--输出:出参(XML) PERRMSG:=null;--输出:错误信息 LS_QQDATA:=null;--请求报文 LS_MainJson:=null;---主项Json LS_detailJson:=null;---明细Json LS_inputJson:=null;---input输入 LS_ListJson:=null;--listjson LS_HISCS0:=substrb(PINXML0,1,2000); LS_CZRQ00:=to_char(sysdate,'YYYYMMDD'); LS_CZSJ00:=to_char(sysdate,'HH24:MI:SS'); LS_DateTimeStr:=to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'); --日期时间型:格式为:yyyy-MM-dd HH:mm:ss LS_DateStr:=to_char(sysdate,'YYYY-MM-DD'); --日期型:格式为:yyyy-MM-dd LS_TimeStr:=to_char(sysdate,'HH24:MI:SS'); --时间型:格式为:HH:mm:ss LS_JZDH00 :=0; --结账单号 LS_payinfo_Num :=0;--[数量]基金支付信息 LS_opspdiseinfo_Num :=0;--[数量]门诊慢特病诊断信息 LS_diseinfo_Num :=0;--[数量]住院诊断信息< diseinfo> LS_iteminfo_Num :=0;--[数量]收费项目信息 LS_oprninfo_Num :=0;--[数量]手术操作信息 LS_icuinfo_Num :=0;--[数量]重症监护信息 LS_bldinfo_Num :=0;--[数量]输血信息 LS_DJ_format:='999999990.9999';--单价格式化(保留4位) LS_SL_format:='999999990.9999';--数量格式化(保留4位) LS_JE_format:='999999990.99';--金额格式化(保留2位) LS_YEFYJE :=0; --婴儿费用金额 LS_MSGSTR:='获取基本信息开始'; begin if nvl(PCZYKS0,0)>0 then select substrb(trim(A.YYID00),1,10),substrb(trim(A.YYQC00),1,100),substrb(trim(A.YYJC00),1,100),substrb(trim(A.GJBZBM),1,50),substrb(trim(A.GJBZMC),1,100) into LS_YYID00,LS_YYQC00,LS_YYJC00,LS_GJBZBM,LS_GJBZMC from XT_YYXX00 A,BM_BMBM00 B where A.YYID00=B.YYID00 and B.BMBH00=PCZYKS0; elsif nvl(PCZY000,0)>0 then select substrb(trim(A.YYID00),1,10),substrb(trim(A.YYQC00),1,100),substrb(trim(A.YYJC00),1,100),substrb(trim(A.GJBZBM),1,50),substrb(trim(A.GJBZMC),1,100) into LS_YYID00,LS_YYQC00,LS_YYJC00,LS_GJBZBM,LS_GJBZMC from XT_YYXX00 A,BM_BMBM00 B,BM_YGBM00 C where A.YYID00=B.YYID00 and B.BMBH00=C.BMBH00 and C.YGBH00=PCZY000; end if; exception when others then LS_YYID00 :=null;--医院ID号 LS_YYQC00 :=null;--医院全称 LS_YYJC00 :=null;--医院简称 LS_GJBZBM :=null;--国家医保标准编码 LS_GJBZMC :=null;--国家医保名称 end; if LS_YYID00 is null then begin select substrb(trim(A.YYID00),1,10),substrb(trim(A.YYQC00),1,100),substrb(trim(A.YYJC00),1,100),substrb(trim(A.GJBZBM),1,50),substrb(trim(A.GJBZMC),1,100) into LS_YYID00,LS_YYQC00,LS_YYJC00,LS_GJBZBM,LS_GJBZMC from XT_YYXX00 A where A.YYID00=SF_SF_GETYYID00(); exception when others then LS_YYID00 :=null;--医院ID号 LS_YYQC00 :=null;--医院全称 LS_YYJC00 :=null;--医院简称 LS_GJBZBM :=null;--国家医保标准编码 LS_GJBZMC :=null;--国家医保名称 end; end if; if nvl(PZYID00,0)>0 then begin select A.ZYH000,A.psn_no,A.AAE140,A.AAE140_MC,B.psn_no,B.AAE140,B.AAE140_MC,A.RYRQ00,a.RYSJ00,A.CYRQ00,A.CYSJ00, a.YBZYH0,a.DQKS00,a.DQBQ00,a.RYLB00,A.RYCWH0,B.ZTQKBH,B.XZQH00, A.SJRYRQ,--实际入院日期 A.SJRYSJ,--实际入院时间 A.CYDJRQ,--病区出院登记日期 A.CYDJSJ,--病区出院登记时间 A.SJCYRQ,--实际出院日期 A.SJCYSJ,--实际出院时间 A.YBRYRQ,--医保入院日期,格式:YYYYMMDD A.YBRYSJ,--医保入院时间,格式:HH24:MI:SS A.YBCYRQ,--医保出院日期,格式:YYYYMMDD A.YBCYSJ,--医保出院时间,格式:HH24:MI:SS A.RYZD00,--入院诊断 A.RYZDMC,--入院诊断名称 A.RYSQK0,--入院时情况,入院病情(危、急、一般) A.CYXJ00,--出院小结 A.ZZYS00,--主治医生员内部号 A.ZZYSXM,--主治医生姓名 A.ZRYS00,--主任医生员内部号 A.ZRYSXM,--主任医生姓名 A.SXYS00,--主管医生员工号 A.SXYSXM,--主管医生员姓名 A.RYBQ00,--入院病区编号 A.RZKS00,--入院科室编号 B.XBBH00,--性别编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='gend' B.MZBH00,--民族编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='naty' B.ZJLXBH,--证件类型编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_cert_type' B.ZTQKBH,--职退情况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_type' B.GJBH00,--国家地区编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='nat_regn_code' B.LXGXBH,--联系人关系编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='patn_rlts' B.HYZKBH,--婚姻状况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='mrg_stas' B.ZYBH00,--职业编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='prfs' A.ZRHS00 --责任护士 into ZY_ZYH000,ZY_psn_no,ZY_AAE140,ZY_AAE140_MC,BM_psn_no,BM_AAE140,BM_AAE140_MC,ZY_RYRQ00,ZY_RYSJ00,ZY_CYRQ00,ZY_CYSJ00, LS_YBZYH0,LS_DQKS00,LS_DQBQ00,LS_RYLB00,ZY_RYCWH0,BM_ZTQKBH,BM_XZQH00, ZY_SJRYRQ,--实际入院日期 ZY_SJRYSJ,--实际入院时间 ZY_CYDJRQ,--病区出院登记日期 ZY_CYDJSJ,--病区出院登记时间 ZY_SJCYRQ,--实际出院日期 ZY_SJCYSJ,--实际出院时间 ZY_YBRYRQ,--医保入院日期,格式:YYYYMMDD ZY_YBRYSJ,--医保入院时间,格式:HH24:MI:SS ZY_YBCYRQ,--医保出院日期,格式:YYYYMMDD ZY_YBCYSJ,--医保出院时间,格式:HH24:MI:SS ZY_RYZD00,--入院诊断 ZY_RYZDMC,--入院诊断名称 ZY_RYSQK0,--入院时情况,入院病情(危、急、一般) ZY_CYXJ00,--出院小结 ZY_ZZYS00,--主治医生员内部号 ZY_ZZYSXM,--主治医生姓名 ZY_ZRYS00,--主任医生员内部号 ZY_ZRYSXM,--主任医生姓名 ZY_SXYS00,--主管医生员工号 ZY_SXYSXM,--主管医生员姓名 ZY_RYBQ00,--入院病区编号 ZY_RZKS00,--入院科室编号 LS_XBBH00,--性别编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='gend' LS_MZBH00,--民族编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='naty' LS_ZJLXBH,--证件类型编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_cert_type' LS_ZTQKBH,--职退情况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='psn_type' LS_GJBH00,--国家地区编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='nat_regn_code' LS_LXGXBH,--联系人关系编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='patn_rlts' LS_HYZKBH,--婚姻状况编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='mrg_stas' LS_ZYBH00,--职业编号, select VALUE0 from BM_YBSXZD where JKBM00=0 and SXBM00='prfs' ZY_ZRHS00 --责任护士 from ZY_BRXXB0 A,BM_BRXXB0 B where 1=1 and A.BRID00 = B.BRID00 and A.BRID00=PBRID00 and A.ZYID00=PZYID00; exception when others then BM_psn_no :=null;--psn_no:国家医保]人员编号 BM_AAE140 :=null;--[BM_BRXXB0]险种类型编码:310 BM_AAE140_MC :=null;--[BM_BRXXB0]险种类型名称 ZY_psn_no :=null;--psn_no:国家医保]人员编号 ZY_AAE140 :=null;--[ZY_BRXXB0]险种类型编码:310 ZY_AAE140_MC :=null;--[ZY_BRXXB0]险种类型名称 end; if nvl(ZY_RYBQ00,0)>0 then begin select aa.bmbh00,aa.bmmc00 into LS_setlinfo_rybqbh,LS_setlinfo_rybqmc from BM_BMBM00 aa where aa.BMBH00=ZY_RYBQ00; exception when others then LS_setlinfo_rybqbh:=null;--rybqbh【HIS内部】入院病区编号 LS_setlinfo_rybqmc:=null;--rybqmc【HIS内部】入院病区名称 end; end if; if nvl(ZY_RZKS00,0)>0 then begin select aa.bmbh00,aa.bmmc00 into LS_setlinfo_ryksbh,LS_setlinfo_ryksmc from BM_BMBM00 aa where aa.BMBH00=ZY_RZKS00; exception when others then LS_setlinfo_ryksbh:=null;--ryksbh【HIS内部】入院科室编号 LS_setlinfo_ryksmc:=null;--ryksmc【HIS内部】入院科室科室名称 end; end if; if nvl(LS_DQBQ00,0)>0 then begin select aa.bmbh00,aa.bmmc00 into LS_setlinfo_dqbqbh,LS_setlinfo_dqbqmc from BM_BMBM00 aa where aa.BMBH00=LS_DQBQ00; exception when others then LS_setlinfo_dqbqbh:=null;--dqbqbh【HIS内部】当前病区编号 LS_setlinfo_dqbqmc:=null;--dqbqmc【HIS内部】当前病区名称 end; end if; if nvl(LS_DQKS00,0)>0 then begin select aa.bmbh00,aa.bmmc00 into LS_setlinfo_dqksbh,LS_setlinfo_dqksmc from BM_BMBM00 aa where aa.BMBH00=LS_DQKS00; exception when others then LS_setlinfo_dqksbh:=null;--dqksbh【HIS内部】当前科室编号 LS_setlinfo_dqksmc:=null;--dqksmc【HIS内部】当前科室名称 end; end if; if nvl(ZY_ZZYS00,0)>0 then begin select aa.YGBH00,aa.ZWXM00 into LS_setlinfo_zzysbh,LS_setlinfo_zzysxm from bm_ygbm00 aa where aa.YGBH00=ZY_ZZYS00; exception when others then LS_setlinfo_zzysbh:=null;--zzysbh【HIS内部】主治医生员工编号 LS_setlinfo_zzysxm:=null;--zzysxm【HIS内部】主治医生姓名 end; end if; if nvl(ZY_ZRYS00,0)>0 then begin select aa.YGBH00,aa.ZWXM00 into LS_setlinfo_zrysbh,LS_setlinfo_zrysxm from bm_ygbm00 aa where aa.YGBH00=ZY_ZRYS00; exception when others then LS_setlinfo_zrysbh:=null;--zrysbh【HIS内部】主任医生员工编号 LS_setlinfo_zrysxm:=null;--zrysxm【HIS内部】主任医生姓名 end; end if; --查询结账表记录 begin select sum(aa.HJJE00) as HJJE00,sum(aa.TCJJZF) as TCJJZF,sum(aa.GRZHZF) as GRZHZF,sum(aa.ZFJE00) as ZFJE00,sum(aa.XJFKJE) as XJFKJE, --sum(nvl(nvl(aa.medfee_sumamt,aa.YBYL52),0)) as medfee_sumamt, sum(nvl(aa.YBYL52,0)) as medfee_sumamt, sum(nvl(aa.YBYL53,0)) as fund_pay_sumamt,sum(nvl(aa.YBYL54,0)) as psn_cash_pay, sum(nvl(aa.YBYL55,0)) as acct_pay,sum(nvl(aa.YBYL56,0)) as hifp_pay,sum(nvl(aa.YBYL57,0)) as cvlserv_pay, --sum(nvl(aa.YBYL58,0)) as YBYL58,sum(nvl(aa.YBYL59,0)) as YBYL59, sum(nvl(aa.YBYL60,0)) as maf_pay, sum(nvl(aa.YBYL61,0)) as oth_pay,sum(nvl(aa.YBYL62,0)) as hifes_pay,sum(nvl(aa.psn_part_amt,0)) as psn_part_amt, sum(nvl(aa.YBYL65,0)) as act_pay_dedc, sum(nvl(aa.fulamt_ownpay_amt,0)) as fulamt_ownpay_amt,sum(nvl(aa.overlmt_selfpay,0)) as overlmt_selfpay, sum(nvl(aa.preselfpay_amt,0)) as preselfpay_amt,sum(nvl(aa.inscp_scp_amt,0)) as inscp_scp_amt,sum(nvl(aa.hifmi_pay,0)) as hifmi_pay, sum(nvl(aa.hifob_pay,0)) as hifob_pay,sum(nvl(aa.acct_mulaid_pay,0)) as acct_mulaid_pay,sum(nvl(aa.hifdm_pay,0)) as hifdm_pay, sum(nvl(aa.hosp_part_amt,0)) as hosp_part_amt, max(AA.YBJZRQ) AS YBJZRQ, max(AA.YBJZSJ) AS YBJZSJ --sum(nvl(aa.YBYL67,0)) as YBYL67,sum(nvl(aa.YBYL68,0)) as YBYL68 into LS_HJJE00,LS_TCJJZF,LS_GRZHZF,LS_ZFJE00,LS_XJFKJE, LS_medfee_sumamt,LS_fund_pay_sumamt,LS_psn_cash_pay, LS_acct_pay,LS_hifp_pay,LS_cvlserv_pay, --LS_YBYL58,LS_YBYL59, LS_maf_pay, LS_oth_pay,LS_hifes_pay,LS_psn_part_amt, LS_act_pay_dedc,LS_fulamt_ownpay_amt,LS_overlmt_selfpay, LS_preselfpay_amt,LS_inscp_scp_amt,LS_hifmi_pay, LS_hifob_pay,LS_acct_mulaid_pay,LS_hifdm_pay, LS_hosp_part_amt, LS_YBJZRQ, LS_YBJZSJ --LS_YBYL67,LS_YBYL68 from ZY_JZB000 AA where aa.ZYID00=PZYID00 and aa.BRID00=PBRID00 and ( (nvl(LS_JZDH00,0)>0 and aa.JZDH00=LS_JZDH00) or (nvl(LS_JZDH00,0)=0 and aa.hjje00>=0 and nvl(aa.YEXM00,'全部') in ('全部','母亲') and nvl(aa.JZZT00,'0')='0') ) ; exception when others then LS_medfee_sumamt :=null; --总费用 数值型(16,2) LS_fulamt_ownpay_amt :=null; --全自费金额 LS_overlmt_selfpay :=null; --超限价自费费用 LS_preselfpay_amt :=null; --先行自付金额 LS_inscp_scp_amt :=null; --符合政策范围金额 LS_act_pay_dedc :=null; --实际支付起付线 LS_hifp_pay :=null; --基本医疗保险统筹基金支出 LS_cvlserv_pay :=null; --公务员医疗补助资金支出 LS_hifes_pay :=null; --企业补充医疗保险基金支出 LS_hifmi_pay :=null; --居民大病保险资金支出 LS_hifob_pay :=null; --职工大额医疗费用补助基金支出 LS_maf_pay :=null; --医疗救助基金支出 LS_hosp_part_amt :=null; --医院负担金额 LS_oth_pay :=null; --其他支出 LS_fund_pay_sumamt :=null; --基金支付总额 LS_psn_part_amt :=null; --个人负担总金额 LS_acct_pay :=null; --个人账户支出 LS_psn_cash_pay :=null; --个人现金支出 LS_acct_mulaid_pay :=null; --个人账户共济支付金额 LS_hifdm_pay :=null; --伤残人员医疗保障基金支出 LS_YBJZRQ :=null; --医保结算日期 LS_YBJZSJ :=null; --医保结算时间 end; --2024.06.24 查询本次结算对应的费用明细是否包含婴儿费用 begin select sum(bb.HJJE00) into LS_YEFYJE from ZY_JZB000 AA,ZY_FYMX00 BB where AA.ZYID00=BB.ZYID00 and AA.BRID00=BB.BRID00 and AA.JZDH00=BB.JZDH00 and bb.YEXM00 is not null and nvl(bb.YEXM00,'全部') not in ('全部','母亲') and aa.ZYID00=PZYID00 and aa.BRID00=PBRID00 and ( (nvl(LS_JZDH00,0)>0 and aa.JZDH00=LS_JZDH00) or (nvl(LS_JZDH00,0)=0 and aa.hjje00>=0 and nvl(aa.YEXM00,'全部') in ('全部','母亲') and nvl(aa.JZZT00,'0')='0') ) ; exception when others then LS_YEFYJE :=0; --婴儿费用金额 end; if LS_YBJZRQ is not null and LS_YBJZSJ is not null then LS_setl_time:=substrb(LS_YBJZRQ,1,4)||'-'||substrb(LS_YBJZRQ,5,2)||'-'||substrb(LS_YBJZRQ,7,2)||' '||LS_YBJZSJ; end if; LS_MSGSTR:='变量转化'; LS_psn_no:=nvl(ZY_psn_no,BM_psn_no); if LS_med_type is null and LS_RYLB00 is not null then LS_med_type := substrb(SF_XT_GETGJYBZDByMC0000('med_type',LS_RYLB00,'1'),1,10); end if; if LS_med_type is null then LS_med_type := '21'; end if; begin select BMMC00 into LS_DQBQMC from BM_BMBM00 where BMBH00=LS_DQBQ00; exception when others then LS_DQBQMC := null; end; --取当前科室名称 begin select BMMC00 into LS_DQKSMC from BM_BMBM00 where BMBH00=LS_DQKS00; exception when others then LS_DQKSMC := LS_DQBQMC; end; LS_YYKSBM :=substrb(SF_ZY_GETYYKSBM(PZYID00, 0),1,30); --医院科室编码 LS_bilg_dept_codg := substrb(SF_XT_TransKSBMToGJYBBM(LS_DQKS00,1),1,30); LS_bilg_dept_name := substrb(SF_XT_GETYBKSMC(LS_DQKS00,LS_bilg_dept_codg),1,100); LS_bilg_dept_codg := substrb(nvl(LS_bilg_dept_codg,LS_DQKS00),1,30); LS_bilg_dept_name := substrb(nvl(LS_bilg_dept_name,LS_DQKSMC),1,100); LS_SFXSE0 := trim(substrb(SF_XT_GETXMLSTR('SFXSE0',PINXML0),1,10));--是否新生儿 LS_YEXM00 := trim(substrb(SF_XT_GETXMLSTR('YEXM00',PINXML0),1,50));--婴儿姓名 if LS_SFXSE0 = '1' and nvl(LS_YEXM00,'全部') not in ('全部','母亲') then select max(psn_no),max(YBZYH0) into LS_PSN_NO_XSE,LS_mdtrt_id_XSE from BQ_JSXX00 where ZYID00=PZYID00 and YEXM00=LS_YEXM00; LS_psn_no := nvl(LS_PSN_NO_XSE,LS_psn_no); --人员编号 LS_YBZYH0 := nvl(LS_mdtrt_id_XSE,LS_YBZYH0); --就诊id LS_med_type := '21'; --医疗类别 end if; end if; LS_MSGSTR:='获取基本信息结束'; --公共输入 --1 flag 请求是否成功 字符型 1 Y 1-成功 其他-失败 insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,1,'main',null,'flag','请求是否成功(1-成功 其他-失败)','flag','请求是否成功(1-成功 其他-失败)','1',null,'1','1',null,'AllIn' from dual; --2 cause 错误信息 字符型 500 N 错误信息 insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,1,'main',null,'cause','错误信息','cause','错误信息',null,null,'1','1',null,'AllIn' from dual; --2 pages 总页数 整数型 Y 总页数 insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,1,'main',null,'pages','总页数','pages','总页数',null,null,'1','1',null,'AllIn' from dual; --3 total 总条数 整数型 Y 总条数 insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,1,'main',null,'total','总条数','total','总条数',null,null,'1','1',null,'AllIn' from dual; --4 current 当前页数 整数型 Y 当前页数 insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00,JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,1,'main',null,'current','当前页数','current','当前页数',null,null,'1','1',null,'AllIn' from dual; LS_MSGSTR:='调用过程SP_ZY_NEWYBJK_JSQDQUERY'; --生成结算清单数据(原过程:SP_ZY_NEWYBJK_JSQDQUERY) 新过程:SP_ZY_GJYBJK_JSQDQUERY SP_ZY_NEWYBJK_JSQDQUERY( PYBJKID ,--输入:医保接口ID: PJKCJBM ,--输入:接口场景编码 YBJK_GJYBJSD_0001:医疗保障基金结算清单查询 YBJK_JSQDXXSC_001:医疗保障基金结算清单信息上传 PZYID00 ,--输入:住院ID PZYH000 ,--输入:住院号 PCZY000 ,--输入:操作员编码 PCZYXM0 ,--输入:操作员姓名 LS_JZDH00 ,--输入:结账单号 8 ,--输入:数据获取类型 8:DIP获取数据 PINXML0 ,--输入(可空):请求参数(XML格式) 'N' ,--输入:是否提交事务 Y:提交 N:不提交 PZXZT00 ,--输出:执行状态 0:失败 1:成功 POUTXML ,--输出:返回参数(XML格式) PERRMSG --输出:错误信息 ); if PZXZT00 = 0 then PZXZT00:=0; PERRMSG:=PERRMSG; return; end if; begin select * into RowJSD from ZY_YBJSD0 where YBJKID=PYBJKID; exception when others then PERRMSG := '未找到结算清单数据(ZYID00='||PZYID00||')'; PZXZT00 := 0; --执行状态 0:失败 1:成功 return; end; LS_MSGSTR:='调用过程:SP_ZY_GJYBJK_FJ0000'; Pro_QSDJH0 :=1; --起始单据号 Pro_ZZDJH0 :=9999999999; --终止单据号 Pro_JZDH00 :=0; --结帐单号 Pro_ZYID00 :=PZYID00; --住院ID Pro_QSRQ00 :=nvl(ZY_RYRQ00,to_char(sysdate,'YYYYMMDD')); --起始日期 Pro_ZZRQ00 :=nvl(ZY_CYRQ00,to_char(sysdate,'YYYYMMDD')); --截至日期 Pro_FLAG00 :='5'; --标志'5':出院病人补发送医保 调用, if nvl(LS_YEFYJE,0)>0 then --婴儿费用金额 Pro_YEXM00 :='全部'; else Pro_YEXM00 :='母亲'; --婴儿姓名 end if; Pro_SFXYB0 :='1'; --是否新医保, 0否1是, 默认0 Pro_JSXZID :=0; --结算选择记录ID Pro_INXML0 :=null; --xml入参 Pro_ID0000 :=null; --输出:序列号ID Pro_ZXZT00 :=null; --输出:执行状态 Pro_OUTXML :=null; --输出:xml出参 Pro_YHMSG0 :=null; --输出:存储过程提示的错误信息 Pro_SYSMSG :=null; --输出:系统提示的错误信息 begin select min(a.DJH000),max(a.DJH000) into Pro_QSDJH0,Pro_ZZDJH0 from ZY_FYMX00 A where A.ZYID00=PZYID00 and A.CZRQ00>=Pro_QSRQ00 and A.CZRQ00<=Pro_ZZRQ00; exception when others then Pro_QSDJH0 :=1; --起始单据号 Pro_ZZDJH0 :=9999999999; --终止单据号 end; LS_MSGSTR:='调用过程:SP_ZY_GJYBJK_FJ0000'; --调用过程:SP_ZY_GJYBJK_FJ0000 SP_ZY_GJYBJK_FJ0000 ( Pro_QSDJH0,--ad_QSDJH0 in out number , --起始单据号 Pro_ZZDJH0,--ad_ZZDJH0 in out number , --终止单据号 Pro_JZDH00,--ad_JZDH00 in number , --结帐单号 Pro_ZYID00,--ad_ZYID00 in out number , --住院ID Pro_QSRQ00,--as_QSRQ00 in varchar2, --起始日期 Pro_ZZRQ00,--as_ZZRQ00 in varchar2, --截至日期 Pro_FLAG00,--as_FLAG00 in char , --标志'5':出院病人补发送医保 调用, Pro_YEXM00,--ad_YEXM00 in char default '全部', --婴儿姓名 Pro_SFXYB0,--ad_SFXYB0 in char default '0', --是否新医保, 0否1是, 默认0 Pro_JSXZID,--ad_JSXZID in number default 0, --结算选择记录ID Pro_INXML0,--as_INXML0 in varchar2 default '', --xml入参 Pro_ID0000,--ad_ID0000 out number , --序列号ID Pro_ZXZT00,--ad_ZXZT00 out number , --执行状态 Pro_OUTXML,--as_OUTXML out clob , --xml出参 Pro_YHMSG0,--as_YHMSG0 out varchar2, --存储过程提示的错误信息 Pro_SYSMSG--as_SYSMSG out varchar2 --系统提示的错误信息 ); if Pro_YHMSG0 is not null then PZXZT00:=0; PERRMSG:=Pro_YHMSG0; return; end if; --if PZXZT00 = 0 then -- PZXZT00:=0; -- PERRMSG:=Pro_YHMSG0; -- return; --end if; --获取BM_YBXZQH.mdtrtarea_admvs if BM_XZQH00 is not null then begin select A.mdtrtarea_admvs into YBXZQH_mdtrtarea_admvs from BM_YBXZQH A where A.admdvs_code=BM_XZQH00; exception when others then YBXZQH_mdtrtarea_admvs:=null;--[国家医保]就医地医保区划 end; end if; --medfee_sumamt: 总费用 数值型(16,2)改为取医保返回 --medfee_sumamt_d: 院内合计金额 数值型(16,2) if nvl(LS_HJJE00,0)>0 then LS_medfee_sumamt_d:=LS_HJJE00; else select sum(a.XMJE00) into LS_medfee_sumamt_d from ZY_YBFSMX A where ZYID00=PZYID00 and ID0000=Pro_ID0000; end if; if nvl(LS_medfee_sumamt,0)=0 and nvl(LS_medfee_sumamt_d,0)>0 then LS_medfee_sumamt:=LS_medfee_sumamt_d; end if; LS_mdtrtsn :=substrb(ZY_ZYH000,1,50); --住院号 LS_wardarea_no :=substrb(LS_DQBQ00,1,50); --当前病区编码 LS_wardarea_name :=substrb(LS_DQBQMC,1,50); --当前病区名称 LS_ward_no :=substrb(LS_DQKS00,1,50); --当前科室编码 LS_ward_name :=substrb(LS_DQKSMC,1,50); --当前科室名称 LS_bedno :=substrb(ZY_RYCWH0,1,50); --当前病床号 LS_rid :=substrb(PZYID00,1,50); --医院结算清单唯一标识 LS_psn_no := substrb(nvl(nvl(ZY_psn_no,BM_psn_no),RowJSD.psn_no),1,30); --1.psn_no: 人员编号 字符型(30) LS_mdtrt_id := substrb(RowJSD.mdtrt_id,1,30); --2.mdtrt_id: 就诊ID 字符型(30) varchar2(30); LS_setl_id := substrb(RowJSD.setl_id,1,30); --3.setl_id: 结算ID 字符型(30) varchar2(30); LS_hi_no := substrb(RowJSD.hi_no,1,30); --4.hi_no: 医保编号 字符型(30) varchar2(30); LS_medcasno := substrb(RowJSD.medcasno,1,40); --5.medcasno: 病案号 字符型(40) varchar2(40); LS_dcla_time := substrb(RowJSD.dcla_time,1,20); --6.dcla_time: 申报时间 日期时间型() varchar2(20); LS_ntly := substrb(nvl(LS_GJBH00,RowJSD.ntly),1,6); --7.ntly: 国籍 字符型(6) varchar2(6); LS_prfs := substrb(nvl(LS_ZYBH00,RowJSD.prfs),1,6); --8.prfs: 职业 字符型(6) varchar2(6); LS_curr_addr := substrb(RowJSD.curr_addr,1,200); --9.curr_addr: 现住址 字符型(200) varchar2(200); LS_emp_name := substrb(RowJSD.emp_name,1,200); --10.emp_name: 单位名称 字符型(200) varchar2(200); LS_emp_addr := substrb(RowJSD.emp_addr,1,200); --11.emp_addr: 单位地址 字符型(200) varchar2(200); LS_emp_tel := substrb(RowJSD.emp_tel,1,50); --12.emp_tel: 单位电话 字符型(50) varchar2(50); LS_poscode := substrb(RowJSD.poscode,1,6); --13.poscode: 邮编 字符型(6) varchar2(6); LS_coner_name := substrb(RowJSD.coner_name,1,50); --14.coner_name: 联系人姓名 字符型(50) varchar2(50); LS_patn_rlts := substrb(nvl(LS_LXGXBH,RowJSD.patn_rlts),1,6); --15.patn_rlts: 与患者关系 字符型(6) varchar2(6); LS_coner_addr := substrb(RowJSD.coner_addr,1,200); --16.coner_addr: 联系人地址 字符型(200) varchar2(200); LS_coner_tel := substrb(RowJSD.coner_tel,1,50); --17.coner_tel: 联系人电话 字符型(50) varchar2(50); LS_nwb_adm_type := substrb(RowJSD.nwb_adm_type,1,3); --18.nwb_adm_type: 新生儿入院类型 字符型(3) varchar2(3); LS_nwb_bir_wt := substrb(nvl(RowJSD.NWBBIRWT,0),1,10); --19.nwb_bir_wt: 新生儿出生体重 数值型(6,2) varchar2(10); LS_nwb_adm_wt := substrb(nvl(RowJSD.NWBADMWT,0),1,10); --20.nwb_adm_wt: 新生儿入院体重 数值型(6,2) varchar2(10); LS_mul_nwb_bir_wt := substrb(RowJSD.MUL_NWB_BIR_WT,1,50); --21.mul_nwb_bir_wt: 多新生儿出生体重 字符型(50) varchar2(50); LS_mul_nwb_adm_wt := substrb(RowJSD.MUL_NWB_ADM_WT,1,50); --22.mul_nwb_adm_wt: 多新生儿入院体重 字符型(50) varchar2(50); LS_opsp_diag_caty := substrb(RowJSD.opsp_diag_caty,1,50); --23.opsp_diag_caty: 门诊慢特病诊断科别 字符型(50) varchar2(50); LS_opsp_mdtrt_date := substrb(RowJSD.opsp_mdtrt_date,1,10); --24.opsp_mdtrt_date: 门诊慢特病就诊日期 日期型() varchar2(10); LS_adm_way := substrb(RowJSD.adm_way,1,3); --25.adm_way: 入院途径 字符型(3) varchar2(3); LS_trt_type := substrb(RowJSD.trt_type,1,3); --26.trt_type: 治疗类别 字符型(3) varchar2(3); LS_adm_time := substrb(RowJSD.adm_time,1,20); --27.adm_time: 入院时间 日期时间型() varchar2(20); LS_refldept_dept := substrb(RowJSD.refldept_dept,1,50); --28.refldept_dept: 转科科别 字符型(12) varchar2(12); LS_dscg_time := substrb(RowJSD.dscg_time,1,20); --29.dscg_time: 出院时间 日期时间型() varchar2(20); LS_dscg_caty := substrb(RowJSD.dscg_caty,1,6); --30.dscg_caty: 出院科别 字符型(6) varchar2(6); LS_otp_wm_dise := substrb(RowJSD.otp_wm_dise,1,200); --31.otp_wm_dise: 门(急)诊西医诊断 字符型(200) varchar2(200); LS_wm_dise_code := substrb(RowJSD.wm_dise_code,1,20); --32.wm_dise_code: 西医诊断疾病代码 字符型(20) varchar2(20); LS_otp_tcm_dise := substrb(RowJSD.otp_tcm_dise,1,200); --33.otp_tcm_dise: 门(急)诊中医诊断 字符型(200) varchar2(200); LS_tcm_dise_code := substrb(RowJSD.tcm_dise_code,1,20); --34.tcm_dise_code: 中医诊断代码 字符型(20) varchar2(20); LS_otp_wm_diag_dise_code := substrb(RowJSD.otp_wm_diag_dise_code,1,200);--门(急)西医诊断疾病代码 LS_otp_wm_diag := substrb(RowJSD.otp_wm_diag,1,200);--门(急)西医诊断疾病名称 LS_otp_tcm_diag_dise_code := substrb(RowJSD.otp_tcm_diag_dise_code,1,200);--门(急)中医诊断代码 LS_otp_tcm_diag := substrb(RowJSD.otp_tcm_diag,1,200);--门(急)中医诊断名称 LS_vent_used_dura := substrb(RowJSD.vent_used_dura,1,10); --35.vent_used_dura: 呼吸机使用时长 字符型(10) varchar2(10); LS_pwcry_bfadm_coma_dura := substrb(RowJSD.pwcry_bfadm_coma_dura,1,10); --36.pwcry_bfadm_coma_dura: 颅脑损伤患者入院前昏迷时长 字符型(10) varchar2(10); LS_pwcry_afadm_coma_dura := substrb(RowJSD.pwcry_afadm_coma_dura,1,10); --37.pwcry_afadm_coma_dura: 颅脑损伤患者入院后昏迷时长 字符型(10) varchar2(10); LS_spga_nurscare_days := substrb(nvl(RowJSD.spga_nurscare_days,0),1,3); --38.spga_nurscare_days: 特级护理天数 数值型(3) varchar2(3); LS_lv1_nurscare_days := substrb(nvl(RowJSD.lv1_nurscare_days,0),1,3); --39.lv1_nurscare_days: 一级护理天数 数值型(3) varchar2(3); LS_scd_nurscare_days := substrb(nvl(RowJSD.scd_nurscare_days,0),1,3); --40.scd_nurscare_days: 二级护理天数 数值型(3) varchar2(3); LS_lv3_nurscare_days := substrb(nvl(RowJSD.lv3_nurscare_days,0),1,3); --41.lv3_nurscare_days: 三级护理天数 数值型(3) varchar2(3); LS_dscg_way := substrb(RowJSD.dscg_way,1,3); --42.dscg_way: 离院方式 字符型(3) varchar2(3); LS_acp_medins_name := substrb(RowJSD.acp_medins_name,1,100); --43.acp_medins_name: 拟接收机构名称 字符型(100) varchar2(100); LS_acp_optins_code := substrb(RowJSD.acp_optins_code,1,30); --44.acp_optins_code: 拟接收机构代码 字符型(30) varchar2(30); LS_bill_code := substrb(RowJSD.bill_code,1,50); --45.bill_code: 票据代码 字符型(50) varchar2(50); LS_bill_no := substrb(RowJSD.bill_no,1,30); --46.bill_no: 票据号码 字符型(30) varchar2(30); LS_biz_sn := substrb(RowJSD.biz_sn,1,50); --47.biz_sn: 业务流水号 字符型(50) varchar2(50); LS_days_rinp_flag_31 := substrb(RowJSD.days_rinp_flag_31,1,3); --48.days_rinp_flag_31: 出院31天内再住院计划标志 字符型(3) varchar2(3); LS_days_rinp_pup_31 := substrb(RowJSD.days_rinp_pup_31,1,200); --49.days_rinp_pup_31: 出院31天内再住院目的 字符型(200) varchar2(200); LS_chfpdr_code := substrb(RowJSD.chfpdr_code,1,30); --50.chfpdr_code: 主诊医师代码 字符型(30) varchar2(30); LS_setl_begn_date := substrb(RowJSD.setl_begn_date,1,10); --51.setl_begn_date: 结算开始日期 日期型() varchar2(10); LS_setl_end_date := substrb(RowJSD.setl_end_date,1,10); --52.setl_end_date: 结算结束日期 日期型() varchar2(10); LS_medins_fill_dept := substrb(RowJSD.medins_fill_dept,1,100); --53.medins_fill_dept: 医疗机构填报部门 字符型(100) varchar2(100); LS_medins_fill_psn := substrb(RowJSD.medins_fill_psn,1,50); --54.medins_fill_psn: 医疗机构填报人 字符型(50) varchar2(50); LS_resp_nurs_code := substrb(RowJSD.resp_nurs_code,1,50); --55.resp_nurs_code: 责任护士代码 字符型(50) varchar2(50); LS_resp_nurs_name := substrb(RowJSD.resp_nurs_name,1,50); --55.resp_nurs_name: 责任护士姓名 字符型(50) LS_stas_type := substrb(RowJSD.stas_type,1,10); --56.stas_type: 状态分类 字符型(10) varchar2(10); LS_hi_paymtd := substrb(RowJSD.hi_paymtd,1,3); --57.hi_paymtd: 医保支付方式 字符型(3) varchar2(3); LS_fixmedins_name := substrb(nvl(RowJSD.fixmedins_name,LS_GJBZMC),1,200); --3.fixmedins_name: 定点医药机构名称 字符型(200) varchar2(200); LS_fixmedins_code := substrb(nvl(RowJSD.fixmedins_code,LS_GJBZBM),1,20); --4.fixmedins_code: 定点医药机构编号 字符型(12) varchar2(12); LS_hi_setl_lv := substrb(RowJSD.hi_setl_lv,1,3); --5.hi_setl_lv: 医保结算等级 字符型(3) varchar2(3); LS_psn_name := substrb(RowJSD.psn_name,1,50); --9.psn_name: 人员姓名 字符型(50) varchar2(50); LS_gend := substrb(nvl(LS_XBBH00,RowJSD.gend),1,6); --10.gend: 性别 字符型(6) varchar2(6); LS_brdy := substrb(RowJSD.brdy,1,10); --11.brdy: 出生日期 日期型() varchar2(10); LS_age := substrb(nvl(RowJSD.age,0),1,10); --12.age: 年龄 数值型(4,1) varchar2(10); LS_nwb_age := substrb(nvl(RowJSD.nwb_age,0),1,3); --14.nwb_age: (年龄不足1周岁)年龄 数值型(3) varchar2(3); LS_naty := nvl(substrb(nvl(LS_MZBH00,RowJSD.naty),1,3),'01'); --15.naty: 民族 字符型(3) varchar2(3); LS_patn_cert_type := substrb(RowJSD.patn_cert_type,1,6); --16.patn_cert_type: 患者证件类别 字符型(6) varchar2(6); LS_certno := substrb(RowJSD.certno,1,50); --17.certno: 证件号码 字符型(50) varchar2(50); LS_hi_type := substrb(RowJSD.hi_type,1,3); --28.hi_type: 医保类型 字符型(3) varchar2(3); LS_insuplc := substrb(RowJSD.INSU_ADMDVS,1,6); --29.insuplc: 参保地 字符型(6) varchar2(6); LS_sp_psn_type := substrb(RowJSD.sp_psn_type,1,6); --30.sp_psn_type: 特殊人员类型 字符型(6) varchar2(6); LS_ipt_med_type := substrb(RowJSD.ipt_med_type,1,3); --36.ipt_med_type: 住院医疗类型 字符型(3) varchar2(3); LS_adm_caty := substrb(RowJSD.adm_caty,1,6); --40.adm_caty: 入院科别 字符型(6) varchar2(6); LS_act_ipt_days := substrb(nvl(RowJSD.act_ipt_days,0),1,5); --44.act_ipt_days: 实际住院天数 数值型(3) varchar2(5); LS_diag_code_cnt := substrb(nvl(RowJSD.diag_code_cnt,0),1,3); --49.diag_code_cnt: 诊断代码计数 数值型(3) varchar2(3); LS_oprn_oprt_code_cnt := substrb(nvl(RowJSD.oprn_oprt_code_cnt,0),1,3); --50.oprn_oprt_code_cnt: 手术操作代码计数 数值型(3) varchar2(3); LS_bld_cat := substrb(RowJSD.bld_cat,1,3); --54.bld_cat: 输血品种 字符型(3) varchar2(3); LS_bld_amt := substrb(nvl(RowJSD.bld_amt,0),1,6); --55.bld_amt: 输血量 数值型(6) varchar2(6); LS_bld_unt := substrb(RowJSD.bld_unt,1,3); --56.bld_unt: 输血计量单位 字符型(3) varchar2(3); LS_chfpdr_name := substrb(RowJSD.chfpdr_name,1,50); --69.chfpdr_name: 主诊医师姓名 字符型(50) varchar2(50); LS_psn_selfpay := substrb(nvl(RowJSD.psn_selfpay,0),1,20); --73.psn_selfpay: 个人自付 数值型(16,2) varchar2(20); LS_psn_ownpay := substrb(nvl(RowJSD.psn_ownpay,0),1,20); --74.psn_ownpay: 个人自费 数值型(16,2) varchar2(20); LS_acct_pay := substrb(nvl(nvl(LS_acct_pay,RowJSD.acct_pay),0),1,20); --75.acct_pay: 个人账户支出 数值型(16,2) varchar2(20); LS_psn_cashpay := substrb(nvl(RowJSD.psn_cashpay,0),1,20); --76.psn_cashpay: 个人现金支付 数值型(16,2) varchar2(20); LS_hsorg := substrb(nvl(RowJSD.HSORG_NAME,LS_fixmedins_name),1,100); --78.hsorg: 医保机构 字符型(100) varchar2(100); LS_hsorg_opter := substrb(RowJSD.HSORG_OPTER,1,50); --79.hsorg_opter: 医保机构经办人 字符型(50) varchar2(50); LS_psn_hos_type := '0'; --psn_hos_type 结算清单类型0=住院 1=门诊 LS_insu_admdvs :=nvl(substrb(RowJSD.INSU_ADMDVS,1,6),BM_XZQH00); --insu_admdvs 参保所属医保区划 LS_insutype :=nvl(ZY_AAE140,BM_AAE140); --insutype:险种类型 LS_poolarea_no :=null; --poolarea_no:统筹区编号 LS_fix_blng_admdvs :=null; --fix_blng_admdvs 定点归属医保区划 LS_psn_type :=BM_ZTQKBH; --psn_type 人员类别 if YBXZQH_mdtrtarea_admvs is not null then LS_poolarea_no :=YBXZQH_mdtrtarea_admvs; --poolarea_no:统筹区编号 LS_fix_blng_admdvs :=YBXZQH_mdtrtarea_admvs; --fix_blng_admdvs 定点归属医保区划 end if; LS_mdtrt_id_yb :=substrb(LS_mdtrt_id,1,50);--医保就诊ID if LS_mdtrt_id_yb is null and LS_YBZYH0 is not null and LS_YBZYH0 not in ('0') then LS_mdtrt_id_yb :=substrb(LS_YBZYH0,1,50);--医保就诊ID end if; LS_setl_id_yb :=substrb(LS_setl_id,1,50);--医保结算ID LS_chfpdr_code_yb :=substrb('',1,50);--医保主诊医师代码 LS_chfpdr_code_yn :=substrb('',1,50);--院内主诊医师代码 LS_chfpdr_name_dept :=substrb('',1,50);--科主任姓名 LS_chfpdr_code_dept :=substrb('',1,50);--科主任医师代码 LS_chfpdr_code_dept_yb :=substrb('',1,50);--医保科主任医师代码 LS_chfpdr_code_dept_yn :=substrb('',1,50);--【HIS内部】院内科主任医师代码 LS_data_updt_time :=substrb(LS_DateTimeStr,1,50);--数据最后更新时间 LS_resp_nurs_code_yn :=substrb(SF_XT_GETXMLSTR('resp_nurs_code_yn',RowJSD.BAKXML),1,20);--55.resp_nurs_code_yn: 责任护士代码院内 if LS_resp_nurs_code_yn is null and LS_resp_nurs_code is not null then select max(YGBH00),max(ZWXM00) into LS_resp_nurs_code_yn,LS_resp_nurs_name from BM_YGBM00 where YBYGDM=LS_resp_nurs_code and rownum=1; end if; --责任护士代码、责任护士姓名 if LS_resp_nurs_code_yn is null then begin select substrb(YBYGDM,1,30) as YBYGDM,substrb(ZWXM00,1,50) as ZWXM00,AA.YGBH00 into LS_resp_nurs_code,LS_resp_nurs_name,LS_resp_nurs_code_yn from BM_YGBM00 aa where 1=1 and AA.YGBH00=ZY_ZRHS00; exception when others then LS_resp_nurs_code :=LS_resp_nurs_code; --55.resp_nurs_code: 责任护士代码 字符型(50) LS_resp_nurs_name :=LS_resp_nurs_name; --55.resp_nurs_name: 责任护士姓名 字符型(50) LS_resp_nurs_code_yn :=LS_resp_nurs_code_yn; --55.resp_nurs_code_yn: 责任护士代码院内 end; end if; --主诊医师代码、主诊医师姓名 begin select substrb(YBYGDM,1,30) as YBYGDM,substrb(ZWXM00,1,50) as ZWXM00,substrb(YBYGDM,1,30),AA.YGBH00 into LS_chfpdr_code,LS_chfpdr_name,LS_chfpdr_code_yb,LS_chfpdr_code_yn from BM_YGBM00 aa where 1=1 and AA.YGBH00=nvl(ZY_ZZYS00,ZY_ZRYS00); exception when others then LS_chfpdr_name:=null; --chfpdr_name主诊医师姓名 LS_chfpdr_code:=null; --chfpdr_code主诊医师代码 LS_chfpdr_code_yb:=null;--医保主诊医师代码 LS_chfpdr_code_yn:=null;--院内主诊医师代码 end; begin select substrb(YBYGDM,1,30) as YBYGDM,substrb(ZWXM00,1,50) as ZWXM00,substrb(YBYGDM,1,30),AA.YGBH00 into LS_chfpdr_code_dept,LS_chfpdr_name_dept,LS_chfpdr_code_dept_yb,LS_chfpdr_code_dept_yn from BM_YGBM00 aa where 1=1 and AA.YGBH00=nvl(ZY_ZRYS00,ZY_ZZYS00); exception when others then LS_chfpdr_name_dept :=null;--科主任姓名 LS_chfpdr_code_dept :=null;--科主任医师代码 LS_chfpdr_code_dept_yb :=null;--医保科主任医师代码 LS_chfpdr_code_dept_yn :=null;--【HIS内部】院内科主任医师代码 end; LS_chfpdr_code:=nvl(LS_chfpdr_code_yn,LS_chfpdr_code);--主诊医师代码 用院内医师编码、 LS_chfpdr_code_dept:=nvl(LS_chfpdr_code_dept_yn,LS_chfpdr_code_dept);-- 科主任医师代码 用院内医师编码 --出院小结 --1 dscg_date 出院日期 日期型 if ZY_YBCYRQ is not null then LS_dscginfo_dscg_date :=substrb(ZY_YBCYRQ,1,4)||'-'||substrb(ZY_YBCYRQ,5,2)||'-'||substrb(ZY_YBCYRQ,7,2); else if ZY_SJCYRQ is not null and ZY_SJCYRQ not in ('20991231') then LS_dscginfo_dscg_date :=substrb(ZY_SJCYRQ,1,4)||'-'||substrb(ZY_SJCYRQ,5,2)||'-'||substrb(ZY_SJCYRQ,7,2); elsif ZY_CYDJRQ is not null and ZY_CYDJRQ not in ('20991231') then LS_dscginfo_dscg_date :=substrb(ZY_CYDJRQ,1,4)||'-'||substrb(ZY_CYDJRQ,5,2)||'-'||substrb(ZY_CYDJRQ,7,2); elsif ZY_CYRQ00 is not null and ZY_CYRQ00 not in ('20991231') then LS_dscginfo_dscg_date :=substrb(ZY_CYRQ00,1,4)||'-'||substrb(ZY_CYRQ00,5,2)||'-'||substrb(ZY_CYRQ00,7,2); end if; end if; LS_dscginfo_adm_diag_dscr :=substrb(ZY_RYZDMC,1,4000);--2 adm_diag_dscr 入院诊断描述 字符型 200 --3 dscg_dise_dscr 出院诊断 字符型 1000 begin select A.gjbzmc as CYZDMC into LS_dscginfo_dscg_dise_dscr from VW_ZY_BQBRZDXX a where ZYID00=PZYID00 and ZDLB00='3' and rownum=1; exception when others then LS_dscginfo_dscg_dise_dscr :=null; end; LS_dscginfo_adm_info :=substrb(ZY_RYSQK0,1,4000);--4 adm_info 入院情况 字符型 200 LS_dscginfo_trt_proc_rslt_dscr :=substrb(ZY_CYXJ00,1,4000);--5 trt_proc_rslt_dscr 诊治经过及结果(含手术日期名称及结果) 字符型 2000 LS_dscginfo_dscg_info :=substrb(LS_dscginfo_dscg_info,1,4000);--6 dscg_info 出院情况(含治疗效果) 字符型 2000 LS_dscginfo_dscg_drord :=substrb(LS_dscginfo_dscg_drord,1,4000);--7 dscg_drord 出院医嘱 字符型 1000 LS_dscginfo_caty :=substrb(nvl(LS_adm_caty,LS_dscg_caty),1,50);--8 caty 科别 字符型 6 Y LS_dscginfo_rec_doc :=substrb(LS_dscginfo_rec_doc,1,50);--9 rec_doc 记录医师 字符型 80 LS_dscginfo_main_drug_name :=substrb(LS_dscginfo_main_drug_name,1,4000);--10 main_drug_name 主要药品名称 字符型 1500 LS_dscginfo_oth_imp_info :=substrb(LS_dscginfo_oth_imp_info,1,4000);--11 oth_imp_info 其他重要信息 字符型 1500 LS_dscginfo_vali_flag :=substrb(nvl(LS_dscginfo_vali_flag,'1'),1,50);--12 vali_flag 有效标志 字符型 3 Y --插入表ZY_YBJKMX insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,ZDBM00,ZDMC00, JKSXBM,JKSXMC,JKFSZ0,JKFHZ0,FSLXBZ,ZDLX00,BZ0000,CJBM00) select PYBJKID,A.ZDNBID,A.JDBM00,null,substrb(nvl(A.JKDZBM,A.JKSXBM),1,50),substrb(nvl(A.JKDZMC,JKSXMC),1,100), A.JKSXBM,A.JKSXMC,null,null,substrb(a.JKFSLX,1,1),substrb(a.ZDTYPE,1,1),a.BZ0000,PJKCJBM from BM_TYCJZD A where A.CJBM00='SP_TYJK_ZY_DIP_QDFYMX' and A.JDBM00 in ('setlinfo') and nvl(A.SFYX00,'1')='1' and A.JKFSLX in ('1','2','3') ORDER BY ZDNBID; --修改:医保发送变量赋值 for C_YBFS in CUR_UPDATE_YBJKMX loop LS_JKFSZ0:=null;--接口发送值 LS_JKFHZ0:=null;--接口返回值 LS_VALUE0:=null;-- if C_YBFS.JKSXBM='mdtrtsn' then--mdtrtsn 住院号 LS_JKFSZ0:=substrb(LS_mdtrtsn,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='wardarea_no' then--wardarea_no 当前病区编码 LS_JKFSZ0:=substrb(LS_wardarea_no,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='wardarea_name' then--wardarea_name 当前病区名称 LS_JKFSZ0:=substrb(LS_wardarea_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ward_no' then--ward_no 当前科室编码 LS_JKFSZ0:=substrb(LS_ward_no,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ward_name' then--ward_name 当前科室名称 LS_JKFSZ0:=substrb(LS_ward_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bedno' then--bedno 当前病床号 LS_JKFSZ0:=substrb(LS_bedno,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='rid' then--rid 医院结算清单唯一标识 LS_JKFSZ0:=substrb(LS_rid,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='mdtrt_id' then--mdtrt_id 就诊ID LS_JKFSZ0:=substrb(LS_mdtrt_id,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='setl_id' then--setl_id 结算ID LS_JKFSZ0:=substrb(LS_setl_id,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='fixmedins_name' then--fixmedins_name 定点医药机构名称 LS_JKFSZ0:=substrb(LS_fixmedins_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='fixmedins_code' then--fixmedins_code 定点医药机构编号 LS_JKFSZ0:=substrb(LS_fixmedins_code,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hi_setl_lv' then--hi_setl_lv 医保结算等级 LS_JKFSZ0:=substrb(LS_hi_setl_lv,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hi_no' then--hi_no 医保编号 LS_JKFSZ0:=substrb(LS_hi_no,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='medcasno' then--medcasno 病案号 LS_JKFSZ0:=substrb(LS_medcasno,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dcla_time' then--dcla_time 申报时间 LS_JKFSZ0:=substrb(LS_dcla_time,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_name' then--psn_name 人员姓名 LS_JKFSZ0:=substrb(LS_psn_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='gend' then--gend 性别 LS_JKFSZ0:=substrb(LS_gend,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='brdy' then--brdy 出生日期 LS_JKFSZ0:=substrb(LS_brdy,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='age' then--age 年龄 LS_JKFSZ0:=substrb(LS_age,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ntly' then--ntly 国籍 LS_JKFSZ0:=substrb(LS_ntly,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='nwb_age' then--nwb_age (年龄不足1周岁)年龄 LS_JKFSZ0:=substrb(LS_nwb_age,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='naty' then--naty 民族 LS_JKFSZ0:=substrb(LS_naty,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='patn_cert_type' then--patn_cert_type 患者证件类别 LS_JKFSZ0:=substrb(LS_patn_cert_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='certno' then--certno 证件号码 LS_JKFSZ0:=substrb(LS_certno,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='prfs' then--prfs 职业 LS_JKFSZ0:=substrb(LS_prfs,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='curr_addr' then--curr_addr 现住址 LS_JKFSZ0:=substrb(LS_curr_addr,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='emp_name' then--emp_name 单位名称 LS_JKFSZ0:=substrb(LS_emp_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='emp_addr' then--emp_addr 单位地址 LS_JKFSZ0:=substrb(LS_emp_addr,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='emp_tel' then--emp_tel 单位电话 LS_JKFSZ0:=substrb(LS_emp_tel,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='poscode' then--poscode 邮编 LS_JKFSZ0:=substrb(LS_poscode,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='coner_name' then--coner_name 联系人姓名 LS_JKFSZ0:=substrb(LS_coner_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='patn_rlts' then--patn_rlts 与患者关系 LS_JKFSZ0:=substrb(LS_patn_rlts,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='coner_addr' then--coner_addr 联系人地址 LS_JKFSZ0:=substrb(LS_coner_addr,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='coner_tel' then--coner_tel 联系人电话 LS_JKFSZ0:=substrb(LS_coner_tel,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hi_type' then--hi_type 医保类型 LS_JKFSZ0:=substrb(LS_hi_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='insuplc' then--insuplc 参保地 LS_JKFSZ0:=substrb(LS_insuplc,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='sp_psn_type' then--sp_psn_type 特殊人员类型 LS_JKFSZ0:=substrb(LS_sp_psn_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='nwb_adm_type' then--nwb_adm_type 新生儿入院类型 LS_JKFSZ0:=substrb(LS_nwb_adm_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='nwb_bir_wt' then--nwb_bir_wt 新生儿出生体重 LS_JKFSZ0:=substrb(LS_nwb_bir_wt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='nwb_adm_wt' then--nwb_adm_wt 新生儿入院体重 LS_JKFSZ0:=substrb(LS_nwb_adm_wt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='opsp_diag_caty' then--opsp_diag_caty 门诊慢特病诊断科别 LS_JKFSZ0:=substrb(LS_opsp_diag_caty,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='opsp_mdtrt_date' then--opsp_mdtrt_date 门诊慢特病就诊日期 LS_JKFSZ0:=substrb(LS_opsp_mdtrt_date,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ipt_med_type' then--ipt_med_type 住院医疗类型 LS_JKFSZ0:=substrb(LS_ipt_med_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='adm_way' then--adm_way 入院途径 LS_JKFSZ0:=substrb(LS_adm_way,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='trt_type' then--trt_type 治疗类别 LS_JKFSZ0:=substrb(LS_trt_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='adm_time' then--adm_time 入院时间 LS_JKFSZ0:=substrb(LS_adm_time,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='adm_caty' then--adm_caty 入院科别 LS_JKFSZ0:=substrb(LS_adm_caty,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='refldept_dept' then--refldept_dept 转科科别 LS_JKFSZ0:=substrb(LS_refldept_dept,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dscg_time' then--dscg_time 出院时间 LS_JKFSZ0:=substrb(LS_dscg_time,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dscg_caty' then--dscg_caty 出院科别 LS_JKFSZ0:=substrb(LS_dscg_caty,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='act_ipt_days' then--act_ipt_days 实际住院天数 LS_JKFSZ0:=substrb(LS_act_ipt_days,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='otp_wm_diag' then--otp_wm_diag 门(急)诊西医诊断 LS_JKFSZ0:=substrb(nvl(LS_otp_wm_diag,LS_otp_wm_dise),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='otp_wm_diag_dise_code' then--otp_wm_diag_dise_code 西医诊断疾病代码 LS_JKFSZ0:=substrb(nvl(LS_otp_wm_diag_dise_code,LS_otp_tcm_dise),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='otp_tcm_diag' then--otp_tcm_diag 门(急)诊中医诊断 LS_JKFSZ0:=substrb(nvl(LS_otp_tcm_diag,LS_otp_tcm_dise),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='otp_tcm_diag_dise_code' then--otp_tcm_diag_dise_code 中医诊断代码 LS_JKFSZ0:=substrb(nvl(LS_otp_tcm_diag_dise_code,LS_tcm_dise_code),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='diag_code_cnt' then--diag_code_cnt 诊断代码计数 LS_JKFSZ0:=substrb(LS_diag_code_cnt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='oprn_oprt_code_cnt' then--oprn_oprt_code_cnt 手术操作代码计数 LS_JKFSZ0:=substrb(LS_oprn_oprt_code_cnt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='vent_used_dura' then--vent_used_dura 呼吸机使用时长 LS_JKFSZ0:=substrb(LS_vent_used_dura,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='pwcry_bfadm_coma_dura' then--pwcry_bfadm_coma_dura 颅脑损伤患者入院前昏迷时长 LS_JKFSZ0:=substrb(LS_pwcry_bfadm_coma_dura,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='pwcry_afadm_coma_dura' then--pwcry_afadm_coma_dura 颅脑损伤患者入院后昏迷时长 LS_JKFSZ0:=substrb(LS_pwcry_afadm_coma_dura,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bld_cat' then--bld_cat 输血品种 LS_JKFSZ0:=substrb(LS_bld_cat,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bld_amt' then--bld_amt 输血量 LS_JKFSZ0:=substrb(LS_bld_amt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bld_unt' then--bld_unt 输血计量单位 LS_JKFSZ0:=substrb(LS_bld_unt,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='spga_nurscare_days' then--spga_nurscare_days 特级护理天数 LS_JKFSZ0:=substrb(LS_spga_nurscare_days,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='lv1_nurscare_days' then--lv1_nurscare_days 一级护理天数 LS_JKFSZ0:=substrb(LS_lv1_nurscare_days,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='scd_nurscare_days' then--scd_nurscare_days 二级护理天数 LS_JKFSZ0:=substrb(LS_scd_nurscare_days,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='lv3_nurscare_days' then--lv3_nurscare_days 三级护理天数 LS_JKFSZ0:=substrb(LS_lv3_nurscare_days,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dscg_way' then--dscg_way 离院方式 LS_JKFSZ0:=substrb(LS_dscg_way,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='acp_medins_name' then--acp_medins_name 拟接收机构名称 LS_JKFSZ0:=substrb(LS_acp_medins_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='acp_optins_code' then--acp_optins_code 拟接收机构代码 LS_JKFSZ0:=substrb(LS_acp_optins_code,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bill_code' then--bill_code 票据代码 LS_JKFSZ0:=substrb(LS_bill_code,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='bill_no' then--bill_no 票据号码 LS_JKFSZ0:=substrb(LS_bill_no,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='biz_sn' then--biz_sn 业务流水号 LS_JKFSZ0:=substrb(LS_biz_sn,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='days_rinp_flag_31' then--days_rinp_flag_31 出院31天内再住院计划标志 LS_JKFSZ0:=substrb(LS_days_rinp_flag_31,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='rinp_pup' then--rinp_pup 出院31天内再住院目的 LS_JKFSZ0:=substrb(LS_days_rinp_pup_31,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_name' then--chfpdr_name 主诊医师姓名 LS_JKFSZ0:=substrb(LS_chfpdr_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_code' then--chfpdr_code 主诊医师代码 LS_JKFSZ0:=substrb(LS_chfpdr_code,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='setl_begn_date' then--setl_begn_date 结算开始日期 LS_JKFSZ0:=substrb(LS_setl_begn_date,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='setl_end_date' then--setl_end_date 结算结束日期 LS_JKFSZ0:=substrb(LS_setl_end_date,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_selfpay' then--psn_selfpay 个人自付 LS_JKFSZ0:=substrb(LS_psn_selfpay,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_ownpay' then--psn_ownpay 个人自费 LS_JKFSZ0:=substrb(LS_psn_ownpay,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_cashpay' then--psn_cashpay 个人现金支付 LS_JKFSZ0:=substrb(LS_psn_cashpay,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hi_paymtd' then--hi_paymtd 医保支付方式 LS_JKFSZ0:=substrb(LS_hi_paymtd,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hsorg' then--hsorg 医保机构 LS_JKFSZ0:=substrb(LS_hsorg,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hsorg_opter' then--hsorg_opter 医保机构经办人 LS_JKFSZ0:=substrb(LS_hsorg_opter,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='medins_fill_dept' then--medins_fill_dept 医疗机构填报部门 LS_JKFSZ0:=substrb(LS_medins_fill_dept,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='medins_fill_psn' then--medins_fill_psn 医疗机构填报人 LS_JKFSZ0:=substrb(LS_medins_fill_psn,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_hos_type' then--psn_hos_type 结算清单类型0=住院 1=门诊 LS_JKFSZ0:=substrb(LS_psn_hos_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='insu_admdvs' then--insu_admdvs 参保所属医保区划 LS_JKFSZ0:=substrb(LS_insu_admdvs,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_type' then--psn_type 人员类别 LS_JKFSZ0:=substrb(LS_psn_type,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='fix_blng_admdvs' then--fix_blng_admdvs 定点归属医保区划 LS_JKFSZ0:=substrb(LS_fix_blng_admdvs,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='poolarea_no' then--poolarea_no 统筹区编号 LS_JKFSZ0:=substrb(LS_poolarea_no,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='insutype' then--insutype 险种类型 LS_JKFSZ0:=substrb(LS_insutype,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='medfee_sumamt' then--medfee_sumamt 总费用 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_medfee_sumamt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='medfee_sumamt_d' then--medfee_sumamt_d 院内合计金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_medfee_sumamt_d,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='fulamt_ownpay_amt' then--fulamt_ownpay_amt 全自费金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_fulamt_ownpay_amt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='overlmt_selfpay' then--overlmt_selfpay 超限价自费费用 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_overlmt_selfpay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='preselfpay_amt' then--preselfpay_amt 先行自付金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_preselfpay_amt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='inscp_scp_amt' then--inscp_scp_amt 符合政策范围金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_inscp_scp_amt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='act_pay_dedc' then--act_pay_dedc 实际支付起付线 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_act_pay_dedc,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hifp_pay' then--hifp_pay 基本医疗保险统筹基金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hifp_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='cvlserv_pay' then--cvlserv_pay 公务员医疗补助资金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_cvlserv_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hifes_pay' then--hifes_pay 企业补充医疗保险基金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hifes_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hifmi_pay' then--hifmi_pay 居民大病保险资金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hifmi_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hifob_pay' then--hifob_pay 职工大额医疗费用补助基金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hifob_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='maf_pay' then--maf_pay 医疗救助基金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_maf_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hosp_part_amt' then--hosp_part_amt 医院负担金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hosp_part_amt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='oth_pay' then--oth_pay 其他支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_oth_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='fund_pay_sumamt' then--fund_pay_sumamt 基金支付总额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_fund_pay_sumamt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_part_amt' then--psn_part_amt 个人负担总金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_psn_part_amt,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='acct_pay' then--acct_pay 个人账户支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_acct_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='psn_cash_pay' then--psn_cash_pay 个人现金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_psn_cash_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='acct_mulaid_pay' then--acct_mulaid_pay 个人账户共济支付金额 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_acct_mulaid_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='hifdm_pay' then--hifdm_pay 伤残人员医疗保障基金支出 LS_JKFSZ0:=substrb(trim(to_char(nvl(LS_hifdm_pay,0),LS_JE_format)),1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='setl_time' then--setl_time varchar2(20);--结算时间 LS_JKFSZ0:=substrb(LS_setl_time,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='mdtrt_id_yb' then----mdtrt_id_yb 医保就诊ID LS_JKFSZ0:=substrb(LS_mdtrt_id_yb,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='setl_id_yb' then--setl_id_yb 医保结算ID LS_JKFSZ0:=substrb(LS_setl_id_yb,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_code_yb' then--chfpdr_code_yb 医保主诊医师代码 LS_JKFSZ0:=substrb(LS_chfpdr_code_yb,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_name_dept' then--chfpdr_name_dept 科主任姓名 LS_JKFSZ0:=substrb(LS_chfpdr_name_dept,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_code_dept' then--chfpdr_code_dept 科主任医师代码 LS_JKFSZ0:=substrb(LS_chfpdr_code_dept,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_code_dept_yb' then--chfpdr_code_dept_yb 医保科主任医师代码 LS_JKFSZ0:=substrb(LS_chfpdr_code_dept_yb,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='chfpdr_code_dept_yn' then--chfpdr_code_dept_yn :【HIS内部】院内科主任医师代码 LS_JKFSZ0:=substrb(LS_chfpdr_code_dept_yn,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='rybqbh' then--rybqbh【HIS内部】入院病区编号 LS_JKFSZ0:=substrb(LS_setlinfo_rybqbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='rybqmc' then--rybqmc【HIS内部】入院病区名称 LS_JKFSZ0:=substrb(LS_setlinfo_rybqmc,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ryksbh' then--ryksbh【HIS内部】入院科室编号 LS_JKFSZ0:=substrb(LS_setlinfo_ryksbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='ryksmc' then--ryksmc【HIS内部】入院科室科室名称 LS_JKFSZ0:=substrb(LS_setlinfo_ryksmc,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dqbqbh' then--dqbqbh【HIS内部】当前病区编号 LS_JKFSZ0:=substrb(LS_setlinfo_dqbqbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dqbqmc' then--dqbqmc【HIS内部】当前病区名称 LS_JKFSZ0:=substrb(LS_setlinfo_dqbqmc,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dqksbh' then--dqksbh【HIS内部】当前科室编号 LS_JKFSZ0:=substrb(LS_setlinfo_dqksbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='dqksmc' then--dqksmc【HIS内部】当前科室名称 LS_JKFSZ0:=substrb(LS_setlinfo_dqksmc,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='zzysbh' then--zzysbh【HIS内部】主治医生员工编号 LS_JKFSZ0:=substrb(LS_setlinfo_zzysbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='zzysxm' then--zzysxm【HIS内部】主治医生姓名 LS_JKFSZ0:=substrb(LS_setlinfo_zzysxm,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='zrysbh' then--zrysbh【HIS内部】主任医生员工编号 LS_JKFSZ0:=substrb(LS_setlinfo_zrysbh,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='zrysxm' then--zrysxm【HIS内部】主任医生姓名 LS_JKFSZ0:=substrb(LS_setlinfo_zrysxm,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='data_updt_time' then--data_updt_time 数据最后更新时间 LS_JKFSZ0:=substrb(LS_data_updt_time,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='resp_nurs_code' then--resp_nurs_code: 责任护士代码 字符型(50) LS_JKFSZ0:=substrb(LS_resp_nurs_code,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='resp_nurs_name' then--resp_nurs_name: 责任护士姓名 字符型(50) LS_JKFSZ0:=substrb(LS_resp_nurs_name,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; elsif C_YBFS.JKSXBM='resp_nurs_code_yn' then--resp_nurs_code_yn: 责任护士代码院内 LS_JKFSZ0:=substrb(LS_resp_nurs_code_yn,1,250); update ZY_YBJKMX set JKFSZ0=LS_JKFSZ0,JKFHZ0=LS_JKFHZ0,VALUE0=LS_VALUE0 where YBJKID=PYBJKID and JKSXBM=C_YBFS.JKSXBM and JKMXID=C_YBFS.JKMXID; end if; end loop; --查询主项数据 for C_Main in CUR_QUERY_Main loop LS_MainJson := SF_XT_GETJSONSTR(LS_MainJson,C_Main.JKSXBM,C_Main.JKFSZ0,'0'); end loop; if LS_MainJson is null then PZXZT00:=0; PERRMSG:='主项报文不能为空!'; return; end if; --查询明细数据 for C_detail in CUR_QUERY_detail loop LS_detailJson := SF_XT_GETJSONSTR(LS_detailJson,C_detail.JKSXBM,C_detail.JKFSZ0,'0'); end loop; if LS_detailJson is null then PZXZT00:=0; PERRMSG:='明细报文不能为空!'; return; end if; --出院小结 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'dscg_date',LS_dscginfo_dscg_date,'0');--1 dscg_date 出院日期 日期型 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'adm_diag_dscr',LS_dscginfo_adm_diag_dscr,'0');--2 adm_diag_dscr 入院诊断描述 字符型 200 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'dscg_dise_dscr',LS_dscginfo_dscg_dise_dscr,'0');--3 dscg_dise_dscr 出院诊断 字符型 1000 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'adm_info',LS_dscginfo_adm_info,'0');--4 adm_info 入院情况 字符型 200 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'trt_proc_rslt_dscr',LS_dscginfo_trt_proc_rslt_dscr,'0');--5 trt_proc_rslt_dscr 诊治经过及结果(含手术日期名称及结果) 字符型 2000 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'dscg_info',LS_dscginfo_dscg_info,'0');--6 dscg_info 出院情况(含治疗效果) 字符型 2000 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'dscg_drord',LS_dscginfo_dscg_drord,'0');--7 dscg_drord 出院医嘱 字符型 1000 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'caty',LS_dscginfo_caty,'0');--8 caty 科别 字符型 6 Y LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'rec_doc',LS_dscginfo_rec_doc,'0');--9 rec_doc 记录医师 字符型 80 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'main_drug_name',LS_dscginfo_main_drug_name,'0');--10 main_drug_name 主要药品名称 字符型 1500 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'oth_imp_info',LS_dscginfo_oth_imp_info,'0');--11 oth_imp_info 其他重要信息 字符型 1500 LS_dscginfoJson:=SF_XT_GETJSONSTR(LS_dscginfoJson,'vali_flag',LS_dscginfo_vali_flag,'0');--12 vali_flag 有效标志 字符型 3 Y --增加标题 LS_dscginfoJson := SF_XT_GETJSONSTR(null,'dscginfo',LS_dscginfoJson,'1'); LS_MSGSTR:='基金支付信息'; --基金支付信息 LS_PayinfoList := null; for C_payinfo in CUR_QUREY_payinfo loop LS_payinfo := null; LS_payinfo := SF_XT_GETJSONSTR(LS_payinfo,'fund_pay_type',C_payinfo.fund_pay_type,'0'); LS_payinfo := SF_XT_GETJSONSTR(LS_payinfo,'fund_pay_type_name',C_payinfo.fund_pay_type_name,'0');--fund_pay_type_name --基金支付类型名称 LS_payinfo := SF_XT_GETJSONSTR(LS_payinfo,'fund_payamt',C_payinfo.fund_payamt,'0'); LS_PayinfoList := SF_XT_GETJSONSTR(LS_PayinfoList,null,LS_payinfo,'1'); LS_payinfo_Num:=nvl(LS_payinfo_Num,0)+1;--[数量]基金支付信息 end loop; LS_PayinfoList := SF_XT_GETJSONSTR(null,'payinfo',LS_PayinfoList,'2'); LS_MSGSTR:='门诊慢特病诊断信息'; --门诊慢特病诊断信息 LS_opspdiseinfoList := null; for C_opspdiseinfo in CUR_QUREY_opspdiseinfo loop LS_opspdiseinfo := null; LS_opspdiseinfo := SF_XT_GETJSONSTR(LS_opspdiseinfo,'diag_name',C_opspdiseinfo.diag_name,'0'); LS_opspdiseinfo := SF_XT_GETJSONSTR(LS_opspdiseinfo,'diag_code',C_opspdiseinfo.diag_code,'0'); LS_opspdiseinfo := SF_XT_GETJSONSTR(LS_opspdiseinfo,'oprn_oprt_name',C_opspdiseinfo.oprn_oprt_name,'0'); LS_opspdiseinfo := SF_XT_GETJSONSTR(LS_opspdiseinfo,'oprn_oprt_code',C_opspdiseinfo.oprn_oprt_code,'0'); LS_opspdiseinfoList := SF_XT_GETJSONSTR(LS_opspdiseinfoList,null,LS_opspdiseinfo,'1'); LS_opspdiseinfo_Num:=nvl(LS_opspdiseinfo_Num,0)+1;--[数量]门诊慢特病诊断信息 end loop; LS_opspdiseinfoList := SF_XT_GETJSONSTR(null,'opspdiseinfo',LS_opspdiseinfoList,'2'); LS_MSGSTR:='住院诊断信息'; --住院诊断信息 LS_diseinfoList := null; for C_diseinfo in CUR_QUREY_diseinfo loop LS_diseinfo := null; LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_type',C_diseinfo.diag_type,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_code',C_diseinfo.diag_code,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_name',C_diseinfo.diag_name,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'adm_cond_type',C_diseinfo.adm_cond_type,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'maindiag_flag',C_diseinfo.maindiag_flag,'0'); LS_diseinfoList := SF_XT_GETJSONSTR(LS_diseinfoList,null,LS_diseinfo,'1'); LS_diseinfo_Num:=nvl(LS_diseinfo_Num,0)+1;--[数量]住院诊断信息< diseinfo> end loop; if nvl(LS_diseinfo_Num,0)=0 then for C_diseinfo in HIS_QUREY_diseinfo loop LS_diseinfo := null; LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_type',C_diseinfo.diag_type,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_code',C_diseinfo.diag_code,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'diag_name',C_diseinfo.diag_name,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'adm_cond_type',C_diseinfo.adm_cond_type,'0'); LS_diseinfo := SF_XT_GETJSONSTR(LS_diseinfo,'maindiag_flag',C_diseinfo.maindiag_flag,'0'); LS_diseinfoList := SF_XT_GETJSONSTR(LS_diseinfoList,null,LS_diseinfo,'1'); LS_diseinfo_Num:=nvl(LS_diseinfo_Num,0)+1;--[数量]住院诊断信息< diseinfo> end loop; end if; LS_diseinfoList := SF_XT_GETJSONSTR(null,'diseinfo',LS_diseinfoList,'2'); LS_MSGSTR:='收费项目信息'; --收费项目信息 LS_iteminfoList := null; for C_iteminfo in CUR_QUREY_iteminfo loop LS_iteminfo := null; LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'med_chrgitm',C_iteminfo.med_chrgitm,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'med_chrgitm_mc',C_iteminfo.med_chrgitm_mc,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'amt',C_iteminfo.amt,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'claa_sumfee',C_iteminfo.claa_sumfee,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'clab_amt',C_iteminfo.clab_amt,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'fulamt_ownpay_amt',C_iteminfo.fulamt_ownpay_amt,'0'); LS_iteminfo := SF_XT_GETJSONSTR(LS_iteminfo,'oth_amt',C_iteminfo.oth_amt,'0'); LS_iteminfoList := SF_XT_GETJSONSTR(LS_iteminfoList,null,LS_iteminfo,'1'); LS_iteminfo_Num:=nvl(LS_iteminfo_Num,0)+1;--[数量]收费项目信息 end loop; LS_iteminfoList := SF_XT_GETJSONSTR(null,'iteminfo',LS_iteminfoList,'2'); LS_MSGSTR:='手术操作信息'; --手术操作信息 LS_oprninfoList := null; for C_oprninfo in CUR_QUREY_oprninfo loop LS_oprninfo := null; --oprn_oprt_date手术操作日期 if lengthb(C_oprninfo.oprn_oprt_date)=8 then LS_oprn_oprt_date:=substrb(C_oprninfo.oprn_oprt_date,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_date,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_date,7,2); else LS_oprn_oprt_date:=C_oprninfo.oprn_oprt_date; end if; --oprn_oprt_begntime手术开始时间 if lengthb(C_oprninfo.oprn_oprt_begntime)=14 then LS_oprn_oprt_begntime:=substrb(C_oprninfo.oprn_oprt_begntime,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_begntime,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_begntime,7,2); LS_oprn_oprt_begntime:=LS_oprn_oprt_begntime||' '||substrb(C_oprninfo.oprn_oprt_begntime,9,2)||':'||substrb(C_oprninfo.oprn_oprt_begntime,11,2)||':'||substrb(C_oprninfo.oprn_oprt_begntime,13,2); else LS_oprn_oprt_begntime:=C_oprninfo.oprn_oprt_begntime; end if; --oprn_oprt_endtime手术结束时间 if lengthb(C_oprninfo.oprn_oprt_endtime)=14 then LS_oprn_oprt_endtime:=substrb(C_oprninfo.oprn_oprt_endtime,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_endtime,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_endtime,7,2); LS_oprn_oprt_endtime:=LS_oprn_oprt_endtime||' '||substrb(C_oprninfo.oprn_oprt_endtime,9,2)||':'||substrb(C_oprninfo.oprn_oprt_endtime,11,2)||':'||substrb(C_oprninfo.oprn_oprt_endtime,13,2); else LS_oprn_oprt_endtime :=C_oprninfo.oprn_oprt_endtime; end if; --anst_begntime麻醉开始时间 if lengthb(C_oprninfo.anst_begntime)=14 then LS_anst_begntime:=substrb(C_oprninfo.anst_begntime,1,4)||'-'||substrb(C_oprninfo.anst_begntime,5,2)||'-'||substrb(C_oprninfo.anst_begntime,7,2); LS_anst_begntime:=LS_anst_begntime||' '||substrb(C_oprninfo.anst_begntime,9,2)||':'||substrb(C_oprninfo.anst_begntime,11,2)||':'||substrb(C_oprninfo.anst_begntime,13,2); else LS_anst_begntime :=C_oprninfo.anst_begntime; end if; --anst_endtime麻醉结束时间 if lengthb(C_oprninfo.anst_endtime)=14 then LS_anst_endtime:=substrb(C_oprninfo.anst_endtime,1,4)||'-'||substrb(C_oprninfo.anst_endtime,5,2)||'-'||substrb(C_oprninfo.anst_endtime,7,2); LS_anst_endtime:=LS_anst_endtime||' '||substrb(C_oprninfo.anst_endtime,9,2)||':'||substrb(C_oprninfo.anst_endtime,11,2)||':'||substrb(C_oprninfo.anst_endtime,13,2); else LS_anst_endtime :=C_oprninfo.anst_endtime; end if; LS_oprninfo_oper_dr_code_yn:=C_oprninfo.oper_dr_code_yn;--oper_dr_code_yn:术者医生(院内编码) if LS_oprninfo_oper_dr_code_yn is null and C_oprninfo.oper_dr_code is not null then select max(YGBH00) into LS_oprninfo_oper_dr_code_yn from BM_YGBM00 where YBYGDM=C_oprninfo.oper_dr_code and rownum=1; end if; LS_oprninfo_anst_dr_code_yn:=C_oprninfo.anst_dr_code_yn;--anst_dr_code_yn:麻醉医生(院内编码) if LS_oprninfo_anst_dr_code_yn is null and C_oprninfo.anst_dr_code is not null then select max(YGBH00) into LS_oprninfo_anst_dr_code_yn from BM_YGBM00 where YBYGDM=C_oprninfo.anst_dr_code and rownum=1; end if; LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_type',C_oprninfo.oprn_oprt_type,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_code',C_oprninfo.oprn_oprt_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_name',C_oprninfo.oprn_oprt_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_way',C_oprninfo.anst_way,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_date',LS_oprn_oprt_date,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_code',C_oprninfo.oper_dr_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_code_yn',LS_oprninfo_oper_dr_code_yn,'0');--oper_dr_code_yn:术者医生(院内编码) LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_name',C_oprninfo.oper_dr_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_code',C_oprninfo.anst_dr_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_code_yn',LS_oprninfo_anst_dr_code_yn,'0');--anst_dr_code_yn:麻醉医生(院内编码) LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_name',C_oprninfo.anst_dr_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_begntime',LS_oprn_oprt_begntime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_endtime',LS_oprn_oprt_endtime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_begntime',LS_anst_begntime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_endtime',LS_anst_endtime,'0'); LS_oprninfoList := SF_XT_GETJSONSTR(LS_oprninfoList,null,LS_oprninfo,'1'); LS_oprninfo_Num:=nvl(LS_oprninfo_Num,0)+1;--[数量]手术操作信息 end loop; if nvl(LS_oprninfo_Num,0)=0 then for C_oprninfo in HIS_QUREY_oprninfo loop LS_oprninfo := null; --oprn_oprt_date手术操作日期 if lengthb(C_oprninfo.oprn_oprt_date)=8 then LS_oprn_oprt_date:=substrb(C_oprninfo.oprn_oprt_date,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_date,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_date,7,2); else LS_oprn_oprt_date:=C_oprninfo.oprn_oprt_date; end if; --oprn_oprt_begntime手术开始时间 if lengthb(C_oprninfo.oprn_oprt_begntime)=14 then LS_oprn_oprt_begntime:=substrb(C_oprninfo.oprn_oprt_begntime,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_begntime,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_begntime,7,2); LS_oprn_oprt_begntime:=LS_oprn_oprt_begntime||' '||substrb(C_oprninfo.oprn_oprt_begntime,9,2)||':'||substrb(C_oprninfo.oprn_oprt_begntime,11,2)||':'||substrb(C_oprninfo.oprn_oprt_begntime,13,2); else LS_oprn_oprt_begntime:=C_oprninfo.oprn_oprt_begntime; end if; --oprn_oprt_endtime手术结束时间 if lengthb(C_oprninfo.oprn_oprt_endtime)=14 then LS_oprn_oprt_endtime:=substrb(C_oprninfo.oprn_oprt_endtime,1,4)||'-'||substrb(C_oprninfo.oprn_oprt_endtime,5,2)||'-'||substrb(C_oprninfo.oprn_oprt_endtime,7,2); LS_oprn_oprt_endtime:=LS_oprn_oprt_endtime||' '||substrb(C_oprninfo.oprn_oprt_endtime,9,2)||':'||substrb(C_oprninfo.oprn_oprt_endtime,11,2)||':'||substrb(C_oprninfo.oprn_oprt_endtime,13,2); else LS_oprn_oprt_endtime :=C_oprninfo.oprn_oprt_endtime; end if; --anst_begntime麻醉开始时间 if lengthb(C_oprninfo.anst_begntime)=14 then LS_anst_begntime:=substrb(C_oprninfo.anst_begntime,1,4)||'-'||substrb(C_oprninfo.anst_begntime,5,2)||'-'||substrb(C_oprninfo.anst_begntime,7,2); LS_anst_begntime:=LS_anst_begntime||' '||substrb(C_oprninfo.anst_begntime,9,2)||':'||substrb(C_oprninfo.anst_begntime,11,2)||':'||substrb(C_oprninfo.anst_begntime,13,2); else LS_anst_begntime :=C_oprninfo.anst_begntime; end if; --anst_endtime麻醉结束时间 if lengthb(C_oprninfo.anst_endtime)=14 then LS_anst_endtime:=substrb(C_oprninfo.anst_endtime,1,4)||'-'||substrb(C_oprninfo.anst_endtime,5,2)||'-'||substrb(C_oprninfo.anst_endtime,7,2); LS_anst_endtime:=LS_anst_endtime||' '||substrb(C_oprninfo.anst_endtime,9,2)||':'||substrb(C_oprninfo.anst_endtime,11,2)||':'||substrb(C_oprninfo.anst_endtime,13,2); else LS_anst_endtime :=C_oprninfo.anst_endtime; end if; LS_oprninfo_oper_dr_code_yn:=C_oprninfo.oper_dr_code_yn;--oper_dr_code_yn:术者医生(院内编码) if LS_oprninfo_oper_dr_code_yn is null and C_oprninfo.oper_dr_code is not null then select max(YGBH00) into LS_oprninfo_oper_dr_code_yn from BM_YGBM00 where YBYGDM=C_oprninfo.oper_dr_code and rownum=1; end if; LS_oprninfo_anst_dr_code_yn:=C_oprninfo.anst_dr_code_yn;--anst_dr_code_yn:麻醉医生(院内编码) if LS_oprninfo_anst_dr_code_yn is null and C_oprninfo.anst_dr_code is not null then select max(YGBH00) into LS_oprninfo_anst_dr_code_yn from BM_YGBM00 where YBYGDM=C_oprninfo.anst_dr_code and rownum=1; end if; LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_type',C_oprninfo.oprn_oprt_type,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_name',C_oprninfo.oprn_oprt_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_code',C_oprninfo.oprn_oprt_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_way',C_oprninfo.anst_way,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_date',LS_oprn_oprt_date,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_code',C_oprninfo.oper_dr_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_code_yn',LS_oprninfo_oper_dr_code_yn,'0');--oper_dr_code_yn:术者医生(院内编码) LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oper_dr_name',C_oprninfo.oper_dr_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_code',C_oprninfo.anst_dr_code,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_code_yn',LS_oprninfo_anst_dr_code_yn,'0');--anst_dr_code_yn:麻醉医生(院内编码) LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_dr_name',C_oprninfo.anst_dr_name,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_begntime',LS_oprn_oprt_begntime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'oprn_oprt_endtime',LS_oprn_oprt_endtime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_begntime',LS_anst_begntime,'0'); LS_oprninfo := SF_XT_GETJSONSTR(LS_oprninfo,'anst_endtime',LS_anst_endtime,'0'); LS_oprninfoList := SF_XT_GETJSONSTR(LS_oprninfoList,null,LS_oprninfo,'1'); LS_oprninfo_Num:=nvl(LS_oprninfo_Num,0)+1;--[数量]手术操作信息 end loop; end if; LS_oprninfoList := SF_XT_GETJSONSTR(null,'oprninfo',LS_oprninfoList,'2'); LS_MSGSTR:='重症监护信息'; --重症监护信息 LS_icuinfoList := null; for C_icuinfo in CUR_QUREY_icuinfo loop LS_icuinfo := null; LS_icuinfo := SF_XT_GETJSONSTR(LS_icuinfo,'scs_cutd_ward_type',C_icuinfo.scs_cutd_ward_type,'0'); LS_icuinfo := SF_XT_GETJSONSTR(LS_icuinfo,'scs_cutd_inpool_time',C_icuinfo.scs_cutd_inpool_time,'0'); LS_icuinfo := SF_XT_GETJSONSTR(LS_icuinfo,'scs_cutd_exit_time',C_icuinfo.scs_cutd_exit_time,'0'); LS_icuinfo := SF_XT_GETJSONSTR(LS_icuinfo,'scs_cutd_sum_dura',C_icuinfo.scs_cutd_sum_dura,'0'); LS_icuinfoList := SF_XT_GETJSONSTR(LS_icuinfoList,null,LS_icuinfo,'1'); LS_icuinfo_Num:=nvl(LS_icuinfo_Num,0)+1;--[数量]重症监护信息 end loop; LS_icuinfoList := SF_XT_GETJSONSTR(null,'icuinfo',LS_icuinfoList,'2'); LS_MSGSTR:='输血信息'; --输血信息 LS_bldinfoList := null; for C_icuinfo in CUR_QUREY_bldinfo loop LS_bldinfo := null; LS_bldinfo := SF_XT_GETJSONSTR(LS_bldinfo,'bld_cat',C_icuinfo.bld_cat,'0'); LS_bldinfo := SF_XT_GETJSONSTR(LS_bldinfo,'bld_amt',trim(to_char(C_icuinfo.bld_amt,LS_JE_format)),'0'); LS_bldinfo := SF_XT_GETJSONSTR(LS_bldinfo,'bld_unt',C_icuinfo.bld_unt,'0'); --insert into ZY_YBJKMX(YBJKID,JKMXID,JDBM00,ZJDBM0,JKSXBM,ZDMC00,JKFSZ0,JKFHZ0,FSLXBZ,BZ0000,VALUE0) --select PYBJKID,SQ_ZY_YBJKMX_JKMXID.nextval,'bldinfo','setlinfo','bldinfo','输血信息',null,null,'1',null,'{'||LS_bldinfo||'}' from dual; LS_bldinfoList := SF_XT_GETJSONSTR(LS_bldinfoList,null,LS_bldinfo,'1'); LS_bldinfo_Num:=nvl(LS_bldinfo_Num,0)+1;--[数量]输血信息 end loop; LS_bldinfoList := SF_XT_GETJSONSTR(null,'bldinfo',LS_bldinfoList,'2'); LS_MSGSTR:='费用明细'; --费用明细 LS_feedetail :=null;--费用明细Json LS_feedetailList :=null;--费用明细列表Json for C_CFMX in CUR_MXLIST loop LS_feedetail := '{'; LS_feedetail := LS_feedetail||'"feedetl_sn"'||':'||'"'||substrb(C_CFMX.feedetl_sn,1,250)||'"'||','; --1.feedetl_sn: 费用明细流水号 LS_feedetail := LS_feedetail||'"init_feedetl_sn"'||':'||'"'||substrb(C_CFMX.init_feedetl_sn,1,250)||'"'||',';--2.init_feedetl_sn: 原费用明细流水号 LS_feedetail := LS_feedetail||'"mdtrt_id"'||':'||'"'||substrb(C_CFMX.mdtrt_id,1,250)||'"'||','; --3.mdtrt_id: 就诊ID LS_feedetail := LS_feedetail||'"drord_no"'||':'||'"'||substrb(C_CFMX.drord_no,1,250)||'"'||','; --4.chrg_bchno: 收费批次号 LS_feedetail := LS_feedetail||'"psn_no"'||':'||'"'||substrb(C_CFMX.psn_no,1,250)||'"'||','; --5.psn_no: 人员编号 LS_feedetail := LS_feedetail||'"med_type"'||':'||'"'||substrb(C_CFMX.med_type,1,250)||'"'||','; --6.med_type: 医疗类别 LS_feedetail := LS_feedetail||'"fee_ocur_time"'||':'||'"'||substrb(C_CFMX.fee_ocur_time,1,250)||'"'||','; --7.fee_ocur_time: 费用发生时间 LS_feedetail := LS_feedetail||'"med_chrgitm"'||':'||'"'||substrb(C_CFMX.med_chrgitm,1,250)||'"'||','; --med_chrgitm 医疗收费项目 LS_feedetail := LS_feedetail||'"hilist_type"'||':'||'"'||substrb(C_CFMX.hilist_type,1,250)||'"'||','; --hilist_type 三目类型 --1 药品 2 诊疗项目 3 服务设施 4 耗材 LS_feedetail := LS_feedetail||'"med_list_codg"'||':'||'"'||substrb(C_CFMX.med_list_codg,1,250)||'"'||','; --8.med_list_codg: 医疗目录编码 LS_feedetail := LS_feedetail||'"medins_list_codg"'||':'||'"'||substrb(C_CFMX.medins_list_codg,1,250)||'"'||',';--9.medins_list_codg: 医药机构目录编码 LS_feedetail := LS_feedetail||'"det_item_fee_sumamt"'||':'||'"'||substrb(trim(to_char(C_CFMX.det_item_fee_sumamt,LS_JE_format)),1,16)||'"'||',';--10.det_item_fee_sumamt: 明细项目费用总额 LS_feedetail := LS_feedetail||'"cnt"'||':'||'"'||substrb(trim(to_char(C_CFMX.cnt,LS_SL_format)),1,16)||'"'||',';--11.cnt: 数量 LS_feedetail := LS_feedetail||'"pric"'||':'||'"'||substrb(trim(to_char(C_CFMX.pric,LS_DJ_format)),1,16)||'"'||',';--12.pric: 单价 LS_feedetail := LS_feedetail||'"prcunt"'||':'||'"'||substrb(C_CFMX.prcunt,1,250)||'"'||','; --prcunt 单位 字符型 50 LS_feedetail := LS_feedetail||'"spec"'||':'||'"'||substrb(C_CFMX.spec,1,250)||'"'||','; --spec 规格 字符型 50 LS_feedetail := LS_feedetail||'"selfpay_prop"'||':'||'"'||substrb(C_CFMX.selfpay_prop,1,250)||'"'||','; --selfpay_prop 自付比例 LS_feedetail := LS_feedetail||'"ownpay_amt"'||':'||'"'||substrb(C_CFMX.ownpay_amt,1,250)||'"'||','; --ownpay_amt 自费金额 LS_feedetail := LS_feedetail||'"bilg_dept_codg"'||':'||'"'||substrb(C_CFMX.bilg_dept_codg,1,250)||'"'||','; --13.bilg_dept_codg: 开单科室编码 LS_feedetail := LS_feedetail||'"bilg_dept_codg_yn"'||':'||'"'||substrb(C_CFMX.bilg_dept_codg_yn,1,250)||'"'||','; --13.bilg_dept_codg_yn: 开单科室编码院内 LS_feedetail := LS_feedetail||'"bilg_dept_name"'||':'||'"'||substrb(C_CFMX.bilg_dept_name,1,250)||'"'||','; --14.bilg_dept_name: 开单科室名称 LS_feedetail := LS_feedetail||'"bilg_dr_codg"'||':'||'"'||substrb(C_CFMX.bilg_dr_codg,1,250)||'"'||','; --15.bilg_dr_codg: 开单医生编码 LS_feedetail := LS_feedetail||'"bilg_dr_name"'||':'||'"'||substrb(C_CFMX.bilg_dr_name,1,250)||'"'||','; --16.bilg_dr_name: 开单医师姓名 LS_feedetail := LS_feedetail||'"acord_dept_codg"'||':'||'"'||substrb(C_CFMX.acord_dept_codg,1,250)||'"'||','; --17.acord_dept_codg: 受单科室编码 LS_feedetail := LS_feedetail||'"acord_dept_codg_yn"'||':'||'"'||substrb(C_CFMX.acord_dept_codg_yn,1,250)||'"'||','; --17.acord_dept_codg_yn: 受单科室编码院内 LS_feedetail := LS_feedetail||'"acord_dept_name"'||':'||'"'||substrb(C_CFMX.acord_dept_name,1,250)||'"'||','; --18.acord_dept_name: 受单科室名称 LS_feedetail := LS_feedetail||'"orders_dr_code"'||':'||'"'||substrb(C_CFMX.orders_dr_code,1,250)||'"'||','; --19.orders_dr_code: 受单医生编码 LS_feedetail := LS_feedetail||'"orders_dr_name"'||':'||'"'||substrb(C_CFMX.orders_dr_name,1,250)||'"'||','; --20.orders_dr_name: 受单医生姓名 LS_feedetail := LS_feedetail||'"hosp_appr_flag"'||':'||'"'||substrb(C_CFMX.hosp_appr_flag,1,250)||'"'||','; --21.hosp_appr_flag: 医院审批标志 LS_feedetail := LS_feedetail||'"tcmdrug_used_way"'||':'||'"'||substrb(C_CFMX.tcmdrug_used_way,1,250)||'"'||','; --22.tcmdrug_used_way: 中药使用方式 LS_feedetail := LS_feedetail||'"etip_flag"'||':'||'"'||substrb(C_CFMX.etip_flag,1,250)||'"'||','; --23.etip_flag: 外检标志 LS_feedetail := LS_feedetail||'"etip_hosp_code"'||':'||'"'||substrb(C_CFMX.etip_hosp_code,1,250)||'"'||','; --24.etip_hosp_code: 外检医院编码 LS_feedetail := LS_feedetail||'"dscg_tkdrug_flag"'||':'||'"'||substrb(C_CFMX.dscg_tkdrug_flag,1,250)||'"'||','; --25.dscg_tkdrug_flag: 出院带药标志 LS_feedetail := LS_feedetail||'"matn_fee_flag"'||':'||'"'||substrb(C_CFMX.matn_fee_flag,1,250)||'"'||','; --26.matn_fee_flag: 生育费用标志 LS_feedetail := LS_feedetail||'"memo"'||':'||'"'||substrb(C_CFMX.memo,1,250)||'"'||','; --27.memo: 备注 LS_feedetail := LS_feedetail||'"comb_no"'||':'||'"'||substrb(C_CFMX.comb_no,1,250)||'"'||','; --28.comb_no: 组套编号 LS_feedetail := LS_feedetail||'"fixmedins_hilist_id"'||':'||'"'||substrb(C_CFMX.fixmedins_hilist_id,1,250)||'"'||','; --fixmedins_hilist_id 项目编码 字符型 50 LS_feedetail := LS_feedetail||'"fixmedins_hilist_name"'||':'||'"'||substrb(C_CFMX.fixmedins_hilist_name,1,250)||'"'||','; --fixmedins_hilist_name 项目名称 字符型 100 LS_feedetail := LS_feedetail||'"hilist_code"'||':'||'"'||substrb(C_CFMX.hilist_code,1,250)||'"'||','; --hilist_code 医保项目编码 字符型 50 LS_feedetail := LS_feedetail||'"hilist_name"'||':'||'"'||substrb(C_CFMX.hilist_name,1,250)||'"'||','; --hilist_name 医保项目名称 字符型 100 LS_feedetail := LS_feedetail||'"kdks00"'||':'||'"'||substrb(C_CFMX.kdks00,1,250)||'"'||','; --kdks00: his开单科室编码 LS_feedetail := LS_feedetail||'"kdksmc"'||':'||'"'||substrb(C_CFMX.kdksmc,1,250)||'"'||','; --kdksmc:his开单科室名称 LS_feedetail := LS_feedetail||'"kdys00"'||':'||'"'||substrb(C_CFMX.kdys00,1,250)||'"'||','; --kdys00:his开单医生编码 LS_feedetail := LS_feedetail||'"kdysxm"'||':'||'"'||substrb(C_CFMX.kdysxm,1,250)||'"'||','; --kdysxm:his开单医生姓名 LS_feedetail := LS_feedetail||'"zxks00"'||':'||'"'||substrb(C_CFMX.ZXKS00,1,250)||'"'||','; --ZXKS00:执行科室编码 LS_feedetail := LS_feedetail||'"zxksmc"'||':'||'"'||substrb(C_CFMX.ZXKSMC,1,250)||'"'||','; --ZXKSMC:执行科室名称 LS_feedetail := LS_feedetail||'"exp_content"'||':'||'"'||substrb(C_CFMX.exp_content,1,1000)||'"'; --29.exp_content: 字段扩展 LS_feedetail := LS_feedetail||'}'; if LS_feedetailList is not null then LS_feedetailList:=LS_feedetailList||','||LS_feedetail; else LS_feedetailList:=LS_feedetail; end if; LS_feedetail_Num:=nvl(LS_feedetail_Num,0)+1;--[数量]费用明细 end loop; LS_feedetailList := SF_XT_GETJSONSTR(null,'feedetail',LS_feedetailList,'2'); --diag_code_cnt 诊断代码计数 update ZY_YBJKMX set JKFSZ0=nvl(LS_diseinfo_Num,0) where YBJKID=PYBJKID and JKSXBM='diag_code_cnt'; --oprn_oprt_code_cnt 手术操作代码计数 update ZY_YBJKMX set JKFSZ0=nvl(LS_oprninfo_Num,0) where YBJKID=PYBJKID and JKSXBM='oprn_oprt_code_cnt'; --明细项加标题 LS_detailJson := SF_XT_GETJSONSTR(null,'setlinfo',LS_detailJson,'1'); --基金支付信息开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_PayinfoList; else LS_ListJson:=LS_PayinfoList; end if; --门诊慢特病诊断信息开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_opspdiseinfoList; else LS_ListJson:=LS_opspdiseinfoList; end if; --住院诊断信息< diseinfo>开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_diseinfoList; else LS_ListJson:=LS_diseinfoList; end if; --收费项目信息开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_iteminfoList; else LS_ListJson:=LS_iteminfoList; end if; --手术操作信息开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_oprninfoList; else LS_ListJson:=LS_oprninfoList; end if; --重症监护信息开始 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_icuinfoList; else LS_ListJson:=LS_icuinfoList; end if; --输血信息 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_bldinfoList; else LS_ListJson:=LS_bldinfoList; end if; --费用明细 if LS_ListJson is not null then LS_ListJson:=LS_ListJson||','||LS_feedetailList; else LS_ListJson:=LS_feedetailList; end if; if LS_ListJson is not null then LS_detailJson:=LS_detailJson||','||LS_dscginfoJson||','||LS_ListJson; end if; --input输入 LS_inputJson := SF_XT_GETJSONSTR(LS_inputJson,'data',LS_detailJson,'1'); --拼接整个报文 LS_QQDATA := LS_MainJson||','||LS_inputJson; LS_QQDATA:='{'||LS_QQDATA||'}'; --修改请求报文 update ZY_YBJKRZ set QQDATA=LS_QQDATA where YBJKID=PYBJKID;--请求报文 if PCOMMIT='Y' then commit; end if; PZXZT00:=1; --输出:执行状态 0:失败 1:成功 PERRMSG:=null; --输出:错误信息 exception when no_data_found then PZXZT00:=0; PERRMSG:=substrb('住院DIP清单明细生成失败,'||'错误位置:['||LS_MSGSTR||']原因:'||sqlerrm,1,200); rollback; when others then PZXZT00:=0; PERRMSG:=substrb('住院DIP清单明细生成失败,'||'错误位置:['||LS_MSGSTR||']原因:'||sqlerrm,1,200); rollback; end; / show error; --%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%